2
私はC言語を使い慣れていないので、いくつかのチュートリアルを続けていますが、CLionでコードを実行するとエラーが発生します。Clion scanfで前の行を複製
いつでも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のコンソールであるようです。
本当に奇妙です。それは私のMacで正しく動作します。 Sidenote: 'scanf'のフォーマットは' '%d" 'でなければなりません(しかし、両方のフォーマットで私のシステムで動作は同じです)。また、 'printf'の最後に' \ n'がありません。 – DarkDust
@daええ、スペースは違いを生み出さなかった。私はそれを削除することを忘れてしまった。 –
@DarkDust:先頭のスペースが空白を食いつぶします。最初の入力には必要ありませんが、2番目の入力には関連している可能性があります。それは保たれるべきです。 – Olaf