S1E2课后答案疑问
按照S1E2里的那个 统计当前目录和所以子目录。。。。抄写了代码但是我们输出就是不对呢不是小甲鱼那样的界面我的是WIN7系统
编译效果
运行效果
很奇怪
是哪里错了呢?
用的是Code::Blocks 软件 不要直接拷贝代码哦~
自己敲一遍代码试试? 表示我代码可以运行但最终结果是0行代码 以及不知道怎么截图放在回复中 小甲鱼 发表于 2017-8-5 17:05
不要直接拷贝代码哦~
自己敲一遍代码试试?
报告代码确实是增加敲的之前 struct _finddata_t fa;这句struct后没加空格 出现编译不过去 后来检查出来了 但是编译通过后运行就出现上面的界面了 不知道是不是跟编译软件或者编译器有关系 Code::Blocks 16.01下载来是不带编译器的 后来下了个GCC编译器 dxl1120 发表于 2017-8-7 08:18
报告代码确实是增加敲的之前 struct _finddata_t fa;这句struct后没加空格 出现编译不过去 后来 ...
如果是自己敲的话编译过后出现乱码,那应该是编辑的设置问题哦,重新安装下试试。
Dev-C++ 和 Code::blocks 虽然可以完成 90% 以上的课程内容,但学习效果其实不如使用原生态的 GCC 好。 霁清d 发表于 2017-8-5 17:35
表示我代码可以运行但最终结果是0行代码 以及不知道怎么截图放在回复中
点击“高级模式”,随后点击图片即可。
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 256
long total;
int countLines(const char *filename);
void findAllCodes(const char *path);
void findALLFiles(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;
}
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);
_findclose(handle);
}
int main()
{
char path = ".";
printf("计算中...\n");
findAllCodes(path);
findALLDirs(path);
printf("目前你总共写了 %ld 行代码!\n\n", total);
system("pause");
return 0;
}
对着小甲鱼给的代码两边没发现错误(有可能眼瞎了..)
然后代码可以运行却是零
霁清d 发表于 2017-8-7 23:06
对着小甲鱼给的代码两边没发现错误(有可能眼瞎了..)
然后代码可以运行却是零
复制你的代码运行完美运行啊
也没有我自己那个的问题了
真是奇了怪了啊
{:10_266:}{:10_266:} 我刚刚自己又去复制了下 出现了140行代码和38行都不对.........
可能是我电脑问题??{:10_266:} 小甲鱼 发表于 2017-8-7 15:56
如果是自己敲的话编译过后出现乱码,那应该是编辑的设置问题哦,重新安装下试试。
Dev-C++ 和 Code: ...
小甲鱼老师,我照你的教程安装linux,修改完网络配置后可以ping 8.8.8.8,但是ping其他网站都是卡在那里一会,然后显示unknown host。 yum gcc也装不了。之前装的时候也是同样的问题。崩溃!!{:10_262:} fanzongsao 发表于 2017-8-8 17:27
小甲鱼老师,我照你的教程安装linux,修改完网络配置后可以ping 8.8.8.8,但是ping其他网站都是卡在那里 ...
建议按照这个百度经验修改下设置 -> http://jingyan.baidu.com/article/4d58d54137d2a19dd5e9c050.html 霁清d 发表于 2017-8-8 12:02
我刚刚自己又去复制了下 出现了140行代码和38行都不对.........
可能是我电脑问题?? ...
它只是检查当前文件夹以及其子文件夹下的代码行数哦,所以如果生成的可执行程序在其他文件夹,是检测不到的~ 小甲鱼 发表于 2017-8-8 17:37
建议按照这个百度经验修改下设置 -> http://jingyan.baidu.com/article/4d58d54137d2a19dd5e9c050.html
不知道怎么查看自己的网关地址,百度了几个方法都搞不定{:10_282:} 小甲鱼 发表于 2017-8-8 17:38
它只是检查当前文件夹以及其子文件夹下的代码行数哦,所以如果生成的可执行程序在其他文件夹,是检测不到 ...
好的 谢谢小甲鱼 霁清d 发表于 2017-8-7 23:06
对着小甲鱼给的代码两边没发现错误(有可能眼瞎了..)
然后代码可以运行却是零
哥们 你这个 保存的时候 不是C文件
保存默认是C++ 文件要改后缀 屁哥 发表于 2017-8-9 16:22
哥们 你这个 保存的时候 不是C文件
保存默认是C++ 文件要改后缀
正解! 上网冲浪做笔记 发表于 2017-9-2 16:13
正解!
哈哈
页:
[1]