|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
下面的代码执行都是没有问题的,可是计算后的结果是一个非常长的数......
- #include <stdio.h>
- #include <stdlib.h>
- void main()
- {
- FILE *fp;
- int n=0;
- char filename[20], 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[20], 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");
- }
复制代码
楼主,我帮你改了下,你看看
|
|