Netbeans - C - 为什么输入在打印命令之前运行?

时间:2012-01-31 00:19:15

标签: c netbeans netbeans-7

我在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)。

1 个答案:

答案 0 :(得分:3)

printf缓存在stdout上...因此,在缓冲区中放置行尾,缓冲区填充到其最大容量之前,您将看不到输出,或使用fflush显式刷新缓冲区。