C语言,关于程序运行结果的解释

#include <stdio.h>
void main()
{
char c;
while(putchar(c=getchar())!='!')
;
}
这个程序如果只输入一个!运行结果是什么,为什么?

这个程序的意思是,从键盘输入一行字符,照原样显示出来。当输入!后,程序执行结束。执行的原理关键在这一行:

while(putchar(c=getchar())!='!')

首先:c=getchar(),字符变量c从缓冲区获得一个字符

然后:putchar(c=getchar()),将字符打印出来

最后:putchar(c=getchar())!='!',判断字符是不是!,如果是则退出while循环,否则继续。

效果如下:

如果只输入!,则显示一个!后结束

效果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-29
输出就是!。
相似回答