scanf始终打印输入的号码

scanf始终打印输入的号码,c,scanf,C,Scanf,刚开始学习C,我对scanf函数有一个问题。每次我在控制台中输入一个数字,它都会在输入的正下方打印出来。这个程序仍然有效,但有点烦人。 (我正在使用JetBrains的CLion) 这是输出: 编号:15 15 你的号码是15! 进程已完成,退出代码为0这是clion()中的一个问题。目前尚未解决。C和C++存在这个问题。 这只虫子可以存活四年。如果您没有因为特定原因而绑定到编译器,我绝对建议您更改编译器。代码本身不会引发此类行为。您使用的是什么环境?我使用的是JetBrains的CLion。“

刚开始学习C,我对scanf函数有一个问题。每次我在控制台中输入一个数字,它都会在输入的正下方打印出来。这个程序仍然有效,但有点烦人。
(我正在使用JetBrains的CLion)

这是输出:

编号:15 15 你的号码是15! 进程已完成,退出代码为0

这是clion()中的一个问题。目前尚未解决。C和C++存在这个问题。
这只虫子可以存活四年。如果您没有因为特定原因而绑定到编译器,我绝对建议您更改编译器。

代码本身不会引发此类行为。您使用的是什么环境?我使用的是JetBrains的CLion。“
scanf
始终打印输入的号码”-不,
scanf
不打印任何内容。我不熟悉JetBrains,但如果您输入号码并按enter键,则您的
stdin应包含
“15\n”
scanf
读取并将
15
存储在
x
中,并将
'\n'
未读取的
stdin
。很难理解这是如何导致这个问题的。似乎是clion本身的一个bug:我用visual Studio 2017 c++14尝试了这段代码,但我没有收到与您相同的响应,每件事情都是如何工作的。所以scanf不会打印任何东西。更改编译器谢谢,我更改了编译器,现在一切都正常了。
int main()
{
   int x;
   printf("Number: ");
   scanf("%d", &x);
   printf("Your number is %d!", x);
}