这是一个初学者问题,可以理解使用 switch 语句可能出错的地方。任务如下: 编写一个程序,接受用户输入的两个整数值。显示第一个整数除以第二个整数的结果,精确到小数点后三位。请记住让程序检查除以零。
为了测试第二个操作数是否为 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;
}
谢谢你的帮助!