回 帖 发 新 帖 刷新版面

主题:[讨论]while循环跳不出去

#include "stdio.h"
int main()
{
int c,i=0;
char symbol;
while (c=((symbol=getchar())!=EOF))
  printf("%d,%c,%d\t",c,symbol,i++);
printf("\n");
printf("the final result is %d,%c",c,symbol);
return 0;
}
代码如上,但是执行while循环之后,就跳不出去,不继续执行printf("\n");这一句了,希望有人指教一二,谢谢!!

回复列表 (共11个回复)

11 楼

[quote]1. EOF主要是在读文件的时候比较用,从键盘上读取应该跟其他字符,如回车符比较;
2. c=((symbol=getchar())!=EOF)  是把读取到的字符赋给sysmbol然后与EOF比较,把比较结果赋给c,这显然不是你想要的。[/quote]

    多谢回答,很明确,现在已经清楚了!谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册