新手求助,程序输出为什么会这样~?
#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]]