关于gets与EOF的问题
当读入单个字符,进行多组测试时,用while(scanf("%c",&c)!=EOF)输入一次ctrl+z既可以结束了。但是,若用gets,则用while(gets(st...
当读入单个字符,进行多组测试时,用while(scanf("%c",&c)!=EOF) 输入一次ctrl+z既可以结束了。
但是,若用gets,则用while(gets(str)!=EOF) 不可行。
那么对于gets,要完成多组测试,要怎么弄? 展开
但是,若用gets,则用while(gets(str)!=EOF) 不可行。
那么对于gets,要完成多组测试,要怎么弄? 展开
3个回答
展开全部
gets(str) 在读取成功的时候返回str,str保存的是成功读入的内容
在失败的时候返回NULL,str的内容保持不变
所以不能和EOF进行判断。
在失败的时候返回NULL,str的内容保持不变
所以不能和EOF进行判断。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-24
展开全部
char *p;
while(1)
{
p=gets(str);
if(p==NULL) break;
......
}
while(1)
{
p=gets(str);
if(p==NULL) break;
......
}
追问
俄,那这个行不while(gets(str)!=NULL);
追答
可以。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询