哎呀,萌新又来了!这段代码就像我第一次做蛋炒饭,满是错误和意外的“调料”。让我们一块儿看看哪里出了问题!
首先,我们来看看头文件部分。你没有包含 `<stdio.h>` 和 `<string.h>`,但是引用了它们使用的函数,比如 `fopen` 和 `strcpy`。所以别忘了加上这两个头文件,像这样:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
接下来,有几个地方需要注意:
1. **字符数组的声明**:在 `findAllCodes` 和 `findALLDirs` 函数中,`char thePath, target;` 应该声明为字符数组,而不是单个字符。你可以这样做:
char thePath[MAX], target[MAX];
2. **路径拼接**:在使用 `strcat` 之前,不要忘记确保 `thePath` 数组已经初始化为一个有效的字符串。可以在使用之前清空这个数组,像这样:
3. **判断目录的方式**:在 `findALLDirs` 函数中,你在判断文件属性时,`fa.attrib == _A_SUBDIR` 用于检测是否是目录,如果你的编译器不支持 `_finddata_t` 和相关的文件操作,你可能会遇到麻烦。在某些系统中,这个结构体的定义可能会有所不同。
4. **main函数中的路径**:你在 `main()` 函数中,变量 `path` 声明为一个字符,但实际上应该是字符串。修正为字符数组:
5. **总行数初始值**:在 `main` 函数中,你没有初始化 `total`,虽然 `total` 会在 `countLines` 中累加,但还是建议将其初值设置为0,以免出现意外情况。
经过这些修改后,你的代码应该能顺利运行,并告诉你写了多少行代码,就像一位“代码统计师”一样。不过如果还有其他问题,就像我做菜的时候加盐过多,不妨再次询问,我会乐意帮助你!加油哦!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |