c语言EOF不能结束循环,,

 我来答
我已经匿名了
推荐于2017-12-11 · TA获得超过816个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:246万
展开全部

Windows下EOF用Ctrl+Z输入。而且,要另起一空行输入,Ctrl+Z之前不得有任何其他字符。比如

#include "stdio.h"//
#include "string.h"//
void main(void)
{
char ch;
while((ch=getchar())!=EOF)
putchar(ch);
}

输入:

abcdefg

abcdefg

^Z

才能正常结束循环。

White_MouseYBZ
2017-12-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6612万
展开全部
不会把?EOF是系统定义符号常量,值是-1,想退出时输入-1再回车就应该结束了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Albert_FZM
2013-04-24
知道答主
回答量:57
采纳率:66%
帮助的人:14.6万
展开全部
eof是对于流对象的,确定你的对象没有搞错,发一下代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shifa2008
2013-05-10 · 超过34用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:71.4万
展开全部
原来是流操作 ,我 以为是问什么呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FanyongYin
2013-04-24 · TA获得超过1054个赞
知道小有建树答主
回答量:1298
采纳率:100%
帮助的人:1012万
展开全部
scanf()的编码是吧?是不是输入了错误数据导致的?
追问

追答
这个帖子都完结了还问问题阿?

新增:
int num = 0;

scanf("%d", &n);
==>
num = scanf("%d", &n);

while(n!=EOF)
==>
while(0 != num)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式