C语言输入字符串如果为EOF则跳出循环 怎么弄啊
发布网友
发布时间:2023-03-20 19:54
我来回答
共4个回答
热心网友
时间:2023-10-08 20:04
gets()返回的是指针,如果输入有误或者没有输入的话返回的是空指针,所以应该是gets(a)!=NULL
而且最好写成while(gets(a)!=EOF && gets(b)!=EOF),因为逗号表达式取的是最后一个表达式的值,照你那意思改写的话,要按两次Ctrl+C才能退出,这个只要按一次就行了
热心网友
时间:2023-10-08 20:05
while(scanf("%s%s",a,b)!=EOF)就是这个,你得连按两次ctrl+z才是EOF
热心网友
时间:2023-10-08 20:05
你改为文件输入输出
scanf("%s%s",a,b) 不好,因为碰到空格就BYEBYE了
是这么弄的
while (gets(a)!=EOF && gets(b)!=EOF)
gets()是两个函数,有两个返回值,你这么弄就相当于a,b要返回值
热心网友
时间:2023-10-08 20:06
没记错的话,gets根本就没有EOF这一说,你看它返回的都是指针~
因该是scanf才有EOF的,但是1L不对。
while(scanf("%s",a)!=EOF && scanf("%s",b)!=EOF)这个才对。