文件操作出了点问题,输出错误
下面的代码执行都是没有问题的,可是计算后的结果是一个非常长的数......#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fp;
int n=0;
char filename, ch;
printf("请输入您需要查出的文件名称:\n");
scanf("%s",&filename);
if(!(fp = fopen(filename, "r")))
{
printf("sorry, didn't find the file\n");
goto END;
}
while(!(feof(fp)))
{
ch = fgetc(fp);
if(ch == '\n')
{
n += 1;
}
}
n += 1;
fclose(fp);
printf("\n此文件共包含代码 %d 行\n");
END:
system("pause");
}
希望大家帮忙指点一下,谢谢。 #include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
int n=0;
char filename, ch;
printf("请输入您需要查出的文件名称:\n");
scanf("%s",filename);
if(!(fp = fopen(filename, "r"))) //scanf()的第二个参数是指针,编译器会把数组名filename转化为指针,不用再取地址(&filename)
{
printf("sorry, didn't find the file\n");
goto END;
}
else
{
while((ch = fgetc(fp))!=EOF)
if(ch == '\n')
{
n += 1;
}
}
fclose(fp);
printf("\n此文件共包含代码 %d 行\n",n);//printf()的转换说明对应的第二个参数你没有写
END:
system("pause");
}
楼主,我帮你改了下,你看看 哦,明白了,竟是忘写printf后面参数的问题{:10_282:}
谢谢!
页:
[1]