牛人帮忙看看,直接运行.c文件的时候出现一错误,编译的时候出现二警告,请牛人帮忙细致的解释一下感谢!
一错误:[root@bogon/]#./c1.c./c1.c:行6:未预期的符号`('附近有语法错误./c1.c:行6:`(fp=fopen("c1.txt","rt")...
一错误:
[root@bogon /]# ./c1.c
./c1.c:行6: 未预期的符号 `(' 附近有语法错误
./c1.c:行6: `(fp=fopen("c1.txt","rt"))='
二警告:
[root@bogon /]# gcc c1.c -o c1
c1.c: 在函数‘main’中:
c1.c:10:12: 警告:隐式声明与内建函数‘exit’不兼容 [默认启用]
exit(1);
以上两个问题怎么解决呢??(能运行正确的结果!)
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("c1.txt","rt"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
} 展开
[root@bogon /]# ./c1.c
./c1.c:行6: 未预期的符号 `(' 附近有语法错误
./c1.c:行6: `(fp=fopen("c1.txt","rt"))='
二警告:
[root@bogon /]# gcc c1.c -o c1
c1.c: 在函数‘main’中:
c1.c:10:12: 警告:隐式声明与内建函数‘exit’不兼容 [默认启用]
exit(1);
以上两个问题怎么解决呢??(能运行正确的结果!)
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("c1.txt","rt"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
} 展开
2个回答
展开全部
#include<stdio.h>
#include<stdlib.h>//<--------
main()
{
FILE *fp;
char ch;
if((fp=fopen("c1.txt","rt"))==0) //<------
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
追问
警告问题解决了,但是第一个错误还是不能解决,还有就是,到时候出现相应的错误,您是怎么知道使用哪个头文件的啊?能不能赐教一下呢?在线等!
追答
if((fp=fopen("c1.txt","rt"))==0)这句在我的编译器上是可以通过的,等于null也可以的,目测是你的编译器不认得null,所以改成0,如果这也不行改成这样试试if(fp=fopen("c1.txt","rt")==0)。
exit函数是在stdlib里面定义的,一般调用系统相关的预定义函数要用stdlib.
在vs编译器里面赋值语句的值是左值,就是被赋值变量的值,但是这个不是规范规定的,所以不用vs编译器这个结果是不确定的,你可以改成这样
FILE *fp=fopen("c1.txt","rt");
char ch;
if(fp==0)
{......}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询