关于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,要完成多组测试,要怎么弄?
展开
 我来答
liubird
2011-12-24 · TA获得超过1932个赞
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:933万
展开全部
gets(str) 在读取成功的时候返回str,str保存的是成功读入的内容
在失败的时候返回NULL,str的内容保持不变
所以不能和EOF进行判断。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-24
展开全部
char *p;
while(1)
{
p=gets(str);
if(p==NULL) break;
......
}
追问
俄,那这个行不while(gets(str)!=NULL);
追答
可以。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZGJAD
2011-12-24
知道答主
回答量:9
采纳率:0%
帮助的人:1.5万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式