1
これは私のコード[注:私は、Windowsプラットフォーム上でC/C++用のEclipseを使用しています]でprintfが期待どおりに呼び出されないのはなぜですか?
ここ#include <stdio.h>
#include<stdlib.h>
int main(void) {
int num;
printf("Enter a number:\n");
scanf("%d",&num);
if(num%2==0)
printf("Number is Even");
else
printf("Number is Odd");
return EXIT_SUCCESS;
}
私は最初だけで、その後のprintfが呼ばれる整数を入力する必要が...私は最初のprintfを呼び出したいですIntegerに入る前に私はここで間違っていますか?
例えばこれは私が
6
Enter a number:
Number is Even
と予想される出力を得る出力は、バッファされた出力を印刷するには最初のprintfの後にfflush(標準出力)を呼び出すことができます
Enter a number:
6
Number is Even
'scanf'が返されないか、' printf'の最後の呼び出しが出力を生成しないという問題はありますか? –
[MCVE]を投稿してください。具体的には、使用している環境。また、通常のシェルを使用しているのですか、ファイルやパイプから入出力を読み書きしていますか? – EOF
プログラムが 'stdin/stdout'を「対話型デバイス」として認識しない場合、プログラムは完全にバッファされます。この場合、出力は 'fflush(stdout)'(または他の多くの関数呼び出しの1つ)の呼び出しに遭遇するまでバッファリングされます。 – EOF