我在netbeans中的代码如下:
int main(int argc, char** argv) {
int a = 2;
int b;
printf("b = ");
scanf("%d", &b);
printf("\n%d",a+b);
return (EXIT_SUCCESS);
}
问题是当我运行它时,它等待的第一件事是用户输入,它没有显示" b ="。只要我输入内容,它就会显示所有内容。
这是一个问题,因为用户必须看到文本才能知道他需要输入什么(字或数字)。 我该如何解决这个问题?
注意:我使用MinGW(和MSYS for make)。
答案 0 :(得分:3)
printf
缓存在stdout
上...因此,在缓冲区中放置行尾,缓冲区填充到其最大容量之前,您将看不到输出,或使用fflush
显式刷新缓冲区。