Clion scanf复制前一行

时间:2016-05-29 19:42:14

标签: c mingw clion

我是C的新手,我正在完成一些教程,但在CLion中运行代码时,我一直收到错误。

每当我使用scanf时,它似乎总是复制控制台中的上一行。

这是它输出的内容:

Please enter your first number:5
Please enter your first number: 5
Please enter your second number:6
Please enter your second number: 6
5 < 6
Process finished with exit code 0

这是我认为它应该输出的内容:

Please enter your first number:5
Please enter your second number:6
5 < 6
Process finished with exit code 0

当然,这是我的代码:

#include <stdio.h>

int main()
{
    int no1;
    int no2;

    printf("Please enter your first number: ");
    scanf(" %d", &no1);

    printf("Please enter your second number: ");
    scanf(" %d", &no2);

    if(no1 < no2){
        printf("%d < %d", no1, no2);
    } else if (no1 == no2) {
        printf("Both numbers are %d", no1);
    } else {
        printf("%d > %d", no1, no2);
    }

    return 0;
}

我也使用MinGW 3.21,CMake 3.5.1

修改 我只是在正常的命令行上运行代码,发现这不是问题所在。它似乎只是CLion的控制台。

1 个答案:

答案 0 :(得分:1)

这是CLion控制台中的一个错误 - CPP-2580 有两种可能的解决方法:

  1. 关闭PTY:禁用注册表中的run.processes.with.pty选项(帮助 - &gt;查找操作 - &gt;注册表...)
  2. 使用Cygwin代替MinGW