c - printf 语句未在 netbean 中的 scanf 语句之前执行

标签 c netbeans printf scanf

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,N;
    for(i=0;i<5;i++)
    {
        printf("Enter The Number \n");
        scanf("%d", &N);
        printf("HELLO %d \n",N);
    }
    return 0;
}

当我在 NetBeans 中执行上面的代码时,输​​出没有逐行执行,所有输出一起执行,即当循环结束时一次...问题是 printf 和 scanf 不工作

最佳答案

你对问题的描述其实很好:

许多 C 运行时库可以检测 stdout 是否连接到交互式设备(控制台窗口/终端)。
根据此,选择默认缓冲模式。

在终端/控制台窗口中执行该程序,您将获得交互式设备的标准缓冲。

或者,调用

setvbuf(stdout, 0, _IOLBUF, BUFSIZ);

在该流上的任何其他操作之前会将 stdout 流设置为默认的行缓冲操作。

关于c - printf 语句未在 netbean 中的 scanf 语句之前执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344497/

相关文章:

c - 如何将字符串数组传递给该程序中的函数?

css - 在 netbeans 上使用 Sass 和 compass 导入

java - 如何使用 Netbeans IDE 使用 Java 而不是 Javaw 制作 JAR 文件

c - 对于 C 中的 pow() 等函数,将精度提高到小数点后 20 位

c++ - 为什么我可以在 C 中分配/比较 int 和 char

c - c程序中的段错误

java - Netbeans 报告 "no library found for namespace"来自 Maven 的 PrimeFaces 标签

c - 正确使用 fprintf

c - snprintf 函数未声明?

c - 使用 getline() 时出现打印问题