0
このプログラムは、入力として3つの整数を取り、最小値を返すことを意図しています。これは私の最初の試みでした:Cは負の数を入力として認識しません
int first, second, third;
printf("Please enter three numbers:\n");
scanf("%d %d %d", &first, &second, &third);
int min;
if (first<second && first<third) {
min = first;
} else if (second<first && second<third) {
min = second;
} else {
min = third;
printf("The minimum value is: %d\n", min);
}
それは負の数を除いてすべてのために働いた。入力が負の場合、何も返されません。それから私はこれにコードを変更:
if (first<second) {
if (first<third)
min = first;
else
min = third;
} else if (second<first) {
if (second<third)
min = second;
else
min = third;
min = second;
}
printf("The minimum value is: %d\n", min);
このバージョンでは完全に働いたが、最初のものはネガのために動作しない理由を私は理解していません。違いは何ですか?あなたが他の{printf関数}でのprintfを持っていた
あなたは何が起こっているかについて詳しく説明することはできますか? 「何も返さないだろうか?それがクラッシュしたか、入力に応答しなかったのでしょうか? – templatetypedef
v1では 'printf'は' min = 3'ブランチにのみあります。コードを間違って切り取って貼り付けるか、それ以外の場合はコードだけがそのケースに印刷されます(そして、v2は何も印刷しません...) – John3136
最後の 'min = second;'は完全です違う。完全には機能しません。 –