while(scanf("%s",p)!=EOF)循环为什么无法结束?

[复制链接]
查看11 | 回复7 | 2021-1-27 05:27:06 | 显示全部楼层 |阅读模式
p是一个指针变量,运行程序后输入多组数据用空格断开,但是循环程序一直无限循环无法结束,这是为什么?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:27:06 | 显示全部楼层
用Ctrl+D(Linux)或者Ctrl+Z(Windows)结束输入
回复

使用道具 举报

千问 | 2021-1-27 05:27:06 | 显示全部楼层
EOF是文件结束标志,标准输入要输入EOF需要通过通过输入键盘组合键,ctrl+d(Linux)或ctrl+z(Windows)
回复

使用道具 举报

千问 | 2021-1-27 05:27:06 | 显示全部楼层
那标准输入如何判断数据是否结束?
回复

使用道具 举报

千问 | 2021-1-27 05:27:06 | 显示全部楼层
引用3楼Micope的回复:那标准输入如何判断数据是否结束?
输入ctrl+d或ctrl+z就是表示文件的末尾,scanf会返回EOF。
回复

使用道具 举报

千问 | 2021-1-27 05:27:06 | 显示全部楼层
VS要连续输入三次、Enter才行
回复

使用道具 举报

千问 | 2021-1-27 05:27:06 | 显示全部楼层


回复

使用道具 举报

千问 | 2021-1-27 05:27:06 | 显示全部楼层
LINUX:ctrl+d,windows:ctrl+z输入EOF
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行