问题:设置字符串类型变量,case后面难道不是应该跟整型常量或常量表达式吗?若是,那么case后跟字符为什么可以运行,跟ASULL码有关吗?刚接触知识点不熟练,求指教。
#include <stdio.h>
int main()
{
int op1, op2;
char ch;
float result;
printf("请输入式子:");
scanf("%d %c %d", &op1, &ch, &op2);
switch (ch)
{
case '-': op2 = -op2; // no break
case '+': result = (float)op1 + op2; break;
case '*': result = (float)op1 * op2; break;
case '/':
if (op2 != 0)
{
result = (float)op1 / op2;
break;
}
else
{
printf("除数不能为零!\n");
break;
}
}
printf("结果是:%.2f\n", result);
return 0;
}