前提・実現したいこと
読み込んだ3つの整数値の最小値を求める。
発生している問題・エラーメッセージ
toki3-7.c: In function ‘main’: toki3-7.c:15:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (num1 > num2) ^~ toki3-7.c:17:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ if (min > num3) ^~ toki3-7.c:19:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation] else ^~~~ toki3-7.c:21:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’ if (min > num3) ^~
該当のソースコード
C
1//3つの整数値の最小値 2 3#include<stdio.h> 4 5int main(){ 6 int num1, num2, num3, min; 7 8 printf("一つ目の整数値を入力してください。:"); 9 scanf("%d", &num1); 10 printf("二つ目の整数値を入力してください。:"); 11 scanf("%d", &num2); 12 printf("三つ目の整数値を入力してください。:"); 13 scanf("%d", &num3); 14 15 if (num1 > num2) 16 min = num2; 17 if (min > num3) 18 min = num3; 19 else 20 min = num1; 21 if (min > num3) 22 min = num3; 23 24 printf("最小値は%dです。\n", min); 25 26 return 0; 27}
試したこと
min = num1;
if (num2 < min) min = num2;
if (num3 < min) min = num3;
とした方が簡潔でよいということは分かったのですが、上記のコードでどうして警告が出ているのか分かりません。
何が問題なのか教えてください。
補足情報(FW/ツールのバージョンなど)
新・解きながら学ぶC原語のp47の問題です。
vscode
回答2件
あなたの回答
tips
プレビュー