これは、switch ステートメントを使用してどこが間違っている可能性があるかを理解するための初心者の質問です。タスクは次のとおりです 。ユーザーが入力した 2 つの整数値を受け入れるプログラムを作成します。最初の整数を 2 番目の整数で割った結果を、小数点以下 3 桁の精度で表示します。プログラムでゼロ除算をチェックすることを忘れないでください。
2 番目のオペランドが 0 かどうかをテストするために、switch ステートメントを使用しました (if...else で実行できることはわかっています)。ただし、プログラムはオペランドとして 0 を受け入れますが、なぜこれが起こるのかわかりません。除算を 0 で計算しようとすると、プログラムは単に失敗します。どこが間違っているのか、ヒントを教えてください。私のコードは以下の通りです:
#include <stdio.h>
int main (void)
{
int a, b;
printf ("Type two integer values: ");
scanf ("%i %i", &a, &b);
switch (a/b)
{
case 'b == 0':
printf ("\n The divisor can't be 0.\n");
break;
default:
printf ("The result of dividing %i by %i is %.3f\n", a, b,(float) a / b);
break;
}
return 0;
}
ご協力いただきありがとうございます!