我正在尝试学习 c,刚开始观看一些在线视频并尝试做这个示例,但我的结果不是我所期望的。这段代码只是简单地输入一个数字并打印出您输入的数字,但是我不知道哪里出了问题。
#include <stdio.h>
int main(void) {
int aNumber;
printf("Please enter a number: ");
scanf("%d", &aNumber);
printf("you entered %d", aNumber);
getchar();
return 0;
}
但是当我运行这段代码时,它应该要求用户输入一个数字而不是它什么都不做,直到我输入一个数字并且输出是这样的:
5
请输入数字:您输入了5
我在其中输入 5,按回车键,然后代码打印出语句。谁能告诉我为什么顺序出错了。应该是
请输入数字:5
你输入了 5
首先弹出“请输入数字:”,然后我输入 5,依此类推。
最佳答案
您很可能需要刷新标准输出才能显示输出。为此调用 fflush(stdout)
。如果你不这样做,一些输出可能会被缓冲,这会导致你所看到的。
#include <stdio.h>
int main(void) {
int aNumber;
printf("Please enter a number: ");
fflush(stdout);
scanf("%d", &aNumber);
printf("you entered %d", aNumber);
getchar();
return 0;
}
关于c - c中printf命令的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34552660/