在第三课的课后作业中有一个抄写程序的,我的结果不对,采用window,显示205行,不...
在第三课的课后作业中有一个抄写程序的,我的结果不对,采用window,显示205行,没有出错,但不理解问题出在哪?发代码 claws0n 发表于 2018-9-17 21:25
发代码
#include<stdio.h>
#include<direct.h>
#include<io.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\b",total);
system("pause");
return 0;
}
流泪的小鳄鱼 发表于 2018-9-18 10:31
#include
#include
#include
这个照抄的,用的windows系统,显示215行,无错误
流泪的小鳄鱼 发表于 2018-9-18 10:32
这个照抄的,用的windows系统,显示215行,无错误
我运行没问题,什么编译环境?档名后缀等...截图看看 claws0n 发表于 2018-9-18 12:28
我运行没问题,什么编译环境?档名后缀等...截图看看
这个截图说“请输入图片位置”,我不知道怎么用,我用的软件是Dev-C++ 流泪的小鳄鱼 发表于 2018-9-18 15:45
这个截图说“请输入图片位置”,我不知道怎么用,我用的软件是Dev-C++
进入高级模式,才有得上传。我是用 dev 帮你测的。 claws0n 发表于 2018-9-18 16:15
进入高级模式,才有得上传。我是用 dev 帮你测的。
如何进入高级模式呢?是要买更高的会员吗?
流泪的小鳄鱼 发表于 2018-9-18 16:17
如何进入高级模式呢?是要买更高的会员吗?
回复的窗口,右上角 claws0n 发表于 2018-9-18 16:45
回复的窗口,右上角
本帖最后由 claws0n 于 2018-9-18 17:53 编辑
流泪的小鳄鱼 发表于 2018-9-18 17:15
没有问题,执行完毕。298行代码,算出来啦。
error 0 warning 0,就是没有错误与警告
5.5.3 有点旧,不过可以用就好,学习的工具,不用太好 意思是结果是对的吗?可是为什么Dev离现实只有89行,输出就变成298行了呢? 流泪的小鳄鱼 发表于 2018-9-18 22:10
意思是结果是对的吗?可是为什么Dev离现实只有89行,输出就变成298行了呢?
对吧,目前文件夹内能找到的 .c 档案都扫了一遍。 好的,非常感谢{:5_110:}{:5_109:}
页:
[1]