【问题标题】:Problem when executing a simple C program in Eclipse IDE在 Eclipse IDE 中执行简单的 C 程序时出现问题
【发布时间】:2020-12-10 13:29:58
【问题描述】:

我正在尝试在 Eclipse 中运行一个简单的 C 程序,但我是 Eclipse 新手。 运行命令时,我在控制台中看到程序的输出很短的时间,但程序等待输入,输出消失,而是显示一个空控制台。这是程序的问题还是与Eclipse IDE的设置有关?

编辑:在控制台菜单上有一个终止按钮,当我按下它时,程序的输出显示但它不等待输入并且程序终止。有什么帮助吗?

图片:

这里是代码

//The input is a series of numbers and the number X. Find
//how many times the number X is met in the series

#include<stdio.h>

int main(){
    int m[20];
    int n, X, cnt=0;

    printf("Insert maximum length of the series (n<=20)\n");
    scanf("n= %d",&n);

    printf("Insert X the number you are looking for\n");
    scanf("X= %d",&X);

    while(n<1||n>20){
        printf("Bad input, n should be between 1 and 20\n");
        scanf("n= %d",&n);
    }

    for(int i = 0 ; i < 20 ; i++){
        scanf(" %d", &m[i]);
        if(m[i]==X)cnt++;
    }

    printf("X is found %d times\n", cnt);

    return 0;
}

这里是空控制台:

编辑:我尝试使用coutcin 重写代码,但是Eclipse 中的编译器在#include&lt;iostream.h&gt; 行上抱怨说存在未解决的包含。对我来说,这听起来像是一个单独的问题。

【问题讨论】:

  • 请不要添加与您各自的代码无关的编程语言标签。
  • scanf("n= %d",&amp;n); --> scanf("%d",&amp;n); 否则您需要输入“n =”以匹配模式,scanfs 的其余部分相同,但此问题与以下内容无关: 显示非常短暂的程序输出后的空控制台
  • @Geno Hi Geno,这是一个用g++编译的C/C++项目,所以即使是C代码也兼容C++,有C++知识的也可以回复

标签: c++ c eclipse


【解决方案1】:

答案在这里:click 基本上标准输入输出的输出是缓冲的,setvbuf(stdout, NULL, _IONBF, 0);解决了问题。

【讨论】:

    猜你喜欢
    • 2011-04-28
    • 2018-05-19
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多