#include
int main(void) {
int c;
while ((c = getchar()) != '#') /* 输入#退出 */
printf("-> %d\n", c);
return 0;
}
上面的代码很简单功能是从键盘上输入字符显示它的ASCII码但有个问题(TC20和BCB6调试都存在下面说的问题)
当第1次运行到 getchar() (也就是代码中注释的那里) 它回要求用户输入字符以回车结束 (这是正常的)
但循环第2次运行到 getchar() 这里是它就没有要求用户输入字符了 (好像跳过了) 而 c 这个变量这时为 '\n' 就显示10
到第3次到 getchar() 这里时又才会要求用户输入,而下1次又将跳过,就这好像每间隔一次才会要求用户输入
运行的结果不是我预测的结果,运行结果如下:
程序的实际结果 我预测的结果
a a
-> 97 -> 97
-> 10 b
b -> 98
-> 98 c
-> 10 -> 99
c e
-> 99 -> 101
-> 10
e
-> 101
-> 10
想请一下各位大侠高手们这是怎么回事?
小弟先感谢各位大侠的参与!
--------------------next---------------------
阅读(1238) | 评论(0) | 转发(0) |