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