这个程序应该做什么,
#include<stdio.h>
main()
{
getchar();
}
我希望它会显示一个空白屏幕,直到我按下键盘上的任何字符。但是它的作用很奇怪。它显示我按下的任何内容。在我按下 Enter 之前,它永远不会终止。
据我所知,getchar() 应该只读取一个字符。它不应输出任何内容。
- Why is it printing every character that I input?
编辑:
为什么 getchar() 在读取一个字符后不停止,例如在这段代码中:
#include <stdio.h>
main()
{
getchar();
printf("Done");
}
程序应该在读取一个字符后打印 Done。
最佳答案
在 getchar()
完成之前,您的程序不会终止。 getchar()
在输入缓冲区被填充之前不会完成。在您按下“Enter”之前,不会填充输入缓冲区。
您看到的字符就是您输入的字符。这是默认的终端驱动行为,而不是由您的程序驱动。
关于c - getchar() 在 C 中给出输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27297811/