如何利用EOF终止scanf输入多行带空格的字符串

helloylzheng 2016-09-30 09:33:07
#include<stdio.h>
#include<string.h>
int main()
{
int t;
char str[1000][500];
for(int t=0;scanf("%[^EOF]",str[t]);t++);
for(int x=0;x<t;x++)
printf("%s\n",str[x]);
return 0;
}

利用这个就算我按出eof也不会停止,而一定要我打出“EOF”三个字母才能终止,请问各位朋友怎么用按出的eof终止?
...全文
626 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
??(???*)?? 2019-11-10
  • 打赏
  • 举报
回复
解决了没有,我的也要三个,要死了
赵4老师 2016-10-09
  • 打赏
  • 举报
回复
引用 5 楼 helloylzheng 的回复:
[quote=引用 3 楼 赵4老师的回复:]for(int t=0;EOF!=scanf("%[^\n]\n",str[t]);t++);
还是不行啊,您的代码需要按下两次eof才能停止[/quote] 参考2楼。
helloylzheng 2016-10-08
  • 打赏
  • 举报
回复
引用 3 楼 赵4老师的回复:
for(int t=0;EOF!=scanf("%[^\n]\n",str[t]);t++);
还是不行啊,您的代码需要按下两次eof才能停止
helloylzheng 2016-10-01
  • 打赏
  • 举报
回复
引用 3 楼 赵4老师的回复:
for(int t=0;EOF!=scanf("%[^\n]\n",str[t]);t++);
等我回去就试试,先谢谢您
赵4老师 2016-10-01
  • 打赏
  • 举报
回复
for(int t=0;EOF!=scanf("%[^\n]\n",str[t]);t++);
赵4老师 2016-10-01
  • 打赏
  • 举报
回复
<Enter>,<Ctrl+Z>,<Enter>
paschen 2016-09-30
  • 打赏
  • 举报
回复
http://blog.csdn.net/liuhuiyi/article/details/8196790

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧