比比俊 发表于 2019-4-20 17:00:38

{:5_90:}

秃头秃头秃头秃 发表于 2019-4-20 17:00:53

666

林梦 发表于 2019-4-20 17:26:15

kankan

林梦 发表于 2019-4-20 18:14:49

我直接对照着输入的会报以下错误,把下面的代码直接从测试代码复制过去就没有错误了,怎么回事?
void findALLCodes(const char *path)
{
        struct _finddata_t fa;
        long handle;
        char thePath, target;
       
        strcpy(thePath, path);
        if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
        {
                do
                {
                        sprintf(target, "%s/%s", path, fa.name);
                  total += countLines(target);
          }while (_findnext(handle, &fa) == 0);
        }
       
        _findclose(handle);       
}

void findALLDirs(const char *path)
{
        struct _finddata_t fa;
        long handle;
        char thePath;
       
        strcpy(thePath, path);
        if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
        {
                fprintf(stderr, "The path %s is wrong!\n",path);
                return;
        }
       
        do
        {
                if(!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
                        continue;
                       
                if(fa.attrib == _A_SUBDIR)
                {
                        sprintf(thePath, "%s/%s", path, fa.name);
                        findALLCodes(thePath);
                        findALLDirs(thePath);
                }
        }while (_findnext(handle, &fa) == 0);
       
        _findcolse(handle);
}
C:\Users\ADMINI~1\AppData\Local\Temp\ccoO0gKA.o        SLE2kehou.c:(.text+0x2f3): undefined reference to `_findcolse'
C:\Users\ADMINI~1\AppData\Local\Temp\ccoO0gKA.o        SLE2kehou.c:(.text+0x348): undefined reference to `findAllCodes'
C:\Users\Administrator\Desktop\tset\collect2.exe        ld returned 1 exit status

不瘦十斤不改名 发表于 2019-4-20 19:02:44

。。

smuwql 发表于 2019-4-20 20:18:15

{:7_113:}

Frank66 发表于 2019-4-20 20:36:14

1

Hrqhrq 发表于 2019-4-20 23:56:53

朕想知道

nannancs 发表于 2019-4-21 00:10:29

完成核对下

wuwenlong4 发表于 2019-4-21 10:57:49

0. 为什么我们说计算机其实是“二傻子”?
答:因为计算机只能读懂0和1。

1. CPU 唯一认识的语言是什么语言?
答:二进制语言。

2. C 语言编写的源代码转换为汇编语言的过程叫什么?
答:编译。

3. 编译型语言和解释型语言的本质区别是什么?
答:解释型语言每次执行都要经过解释器解释,而编译型不需要。

4. 在 Linux 系统上用 C 语言编译的可执行程序,是否能在 Windows 系统上执行?
答:可以。

5. 解释型编程语言是如何实现跨平台的?
答:源代码转换成字节码,字节码经过解释器解释成二进制代码再由CPU执行。

6. 莫斯密码的原理其实是什么?来自:
答:将字母和或数字对应不同的密文。

7. 视频中小甲鱼“故弄玄虚”的那段密文还原后是什么内容(中文)?
答:QIN MEN CHEN DI REN CHI FAN SHI FA DONG JIN GONG
亲们趁敌人吃饭时发动进攻。

mhz0521 发表于 2019-4-21 14:52:23

冲冲冲

a447877862 发表于 2019-4-21 15:19:35

谢谢老大

Sherlockxuc 发表于 2019-4-21 15:24:46

#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>

#define MAX 256

long total;

int countLines(const char *filename);
int isCode(const char *filename);
void findAllDirs(const char *path);

int countLines(const char *filename)
{
      FILE *fp;
      int count = 0;
      int temp;

      if ((fp = fopen(filename, "r")) == NULL)
      {
                fprintf(stderr, "Can not open the file: %s\n", filename);
                return 0;
      }

      while ((temp = fgetc(fp)) != EOF)
      {
                if (temp == '\n')
                {
                        count++;
                }
      }

      fclose(fp);

      return count;
}

int isCode(const char *filename)
{
      int length;

      length = strlen(filename);
      
      if (!strcmp(filename + (length - 2), ".c"))
      {
                return 1;
      }
      else
      {
                return 0;
      }
}

void findAllDirs(const char *path)
{
      DIR *dp;
      struct dirent *entry;
      struct stat statbuf;

      if ((dp = opendir(path)) == NULL)
      {
                fprintf(stderr, "The path %s is wrong!\n", path);
                return;
      }

      chdir(path);
      while ((entry = readdir(dp)) != NULL)
      {
                lstat(entry->d_name, &statbuf);

                if (!strcmp(".", entry->d_name) || !strcmp("..", entry->d_name))
                        continue;

                if (S_ISDIR(statbuf.st_mode))
                {
                        findAllDirs(entry->d_name);
                }
                else
                {
                        if (isCode(entry->d_name))
                        {
                              total += countLines(entry->d_name);
                        }
                }
      }

      chdir("..");
      closedir(dp);
}

int main()
{
      char path = ".";

      printf("计算中...\n");

      findAllDirs(path);

      printf("目前你总共写了 %ld 行代码!\n\n", total);

      return 0;
}

wangdeli1984 发表于 2019-4-21 17:15:05

真得很不错

1652506233 发表于 2019-4-21 20:18:46

211111

袁—晨 发表于 2019-4-21 20:48:07

瞅瞅

justjust001 发表于 2019-4-22 01:13:25

i love fishc

wuwenlong4 发表于 2019-4-22 13:33:59

本帖最后由 wuwenlong4 于 2019-4-22 14:25 编辑

{:5_97:}

酱油冰糖 发表于 2019-4-22 19:08:33

rthtjh

wangwei1314 发表于 2019-4-22 20:07:19

{:5_109:}
页: 277 278 279 280 281 282 283 284 285 286 [287] 288 289 290 291 292 293 294 295 296
查看完整版本: S1E2:第一个程序 | 课后测试题及答案