| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 717 人关注过本帖
标题:新手求助,程序输出为什么会这样~?
取消只看楼主 加入收藏
四眼罗
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-5-19
收藏
 问题点数:0 回复次数:1 
新手求助,程序输出为什么会这样~?
#include <stdio.h>
main()
{int c;
c = getchar();
while(c!=EOF){
putchar(c);
c=getchar();
if(c=EOF)
printf("%d\n",c);
}
}



如果在编译界面输入“nishi”的话,输出结果是“n-1”为什么不是“nishi-1”呢?

如果吧if 语句删除的话,程序运行后,输出和输入很正常,可是却怎么也退不出编译界面了!


无助中,刚看C程序设计语言的书,没看太懂啊~哪位神仙哥哥救命~


这个例子是The C Programming Language(2nd Edition)上的

原程序代码是:
#include <stdio.h>
main()
{int c;
c = getchar();
while(c!=EOF){
putchar(c);
c=getchar();
}
}

这么说本来就是个死循环吗?当c不是空字符的时候返回不了EOF的值?

[[it] 本帖最后由 四眼罗 于 2008-9-30 23:20 编辑 [/it]]
搜索更多相关主题的帖子: 输出 
2008-09-30 16:38
四眼罗
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-5-19
收藏
得分:0 
回复 8# xuqing520 的帖子
判断语句是c==EOF,这样为什么不能输出-1呢了?

读不到EOF了么?是不是因为不是空字符的时候就返回不了EOF的值了呢?

我的本意是想把我输入的字符串显示出来,然后再在最后把EOF的值显示出来,EOF不是结束符么?为什

么输出不了了?
2008-09-30 23:16
快速回复:新手求助,程序输出为什么会这样~?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037782 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved