打印字符串由C getchar函数获取

时间:2017-10-09 16:18:49

标签: c

我在GNU编译器上测试了一个简单的getchar()函数,但为什么不能获得预期的输出

for

代码如下:

mto@ubuntu:~/c$ ./a.out 
agc

mto@ubuntu:~/c$

1 个答案:

答案 0 :(得分:2)

while ((ch =getchar() != '\n') && x<MAX)

应该是

while (((ch = getchar()) != '\n') && x<MAX)

注意作业周围的额外( .. )。由于运算符优先级,ch =getchar() != '\n'等效并评估为ch = (getchar() != '\n')!=的优先级高于=(赋值)。