求详解,为什么答案是X???怎么算的呢??求过程。。。

有以下程序: #include<stdio.h> main() { char c; while ((c=getchar())!='?')putchar(- -c); } 程序运行时输入:Y?N?<回车>,则结果为____.

首先被getchar读到的是'Y'
后面有个putchar(--c)
这句话的执行顺序是,先让c = c - 1然后再putchar(c)
所以显示的是'Y'的ASCII码的上一个,就是'X'了

然后遇到'?‘就退出了while,后面的不执行了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-20
一楼的没错吧。--Y是X,输出X
第2个回答  2013-02-20
你的程序都做错了。。怎么可能出现X
相似回答