为啥顺序不一样算的数不一样啊,刚开始学感觉很迷茫

img


这个算4×7=280

img


这个就对了,他们加减乘除不是并列的吗?为啥顺序反了就不一样了

case 语句是去匹配到case 的字符。
当你某一个case字符匹配成功,那么下面的其他case语句不需要进行判断也会执行。
case ‘1’:
case ‘2’:
当你 ‘1’匹配成功了,你不使用break跳出,那么case ‘2’这里它不进行判断,它直接默认匹配成功

case要加break的
switch(c)
{
case '+': printf("%d",x+y); break;
case '-': printf("%d",x-y); break;
......
}

break;

img


在划线处,每个case后面添加一个break;

case 不加break会贯穿标签
你只拿乘法做实验,感觉乘法放最后就对了
那你再算加法的时候又要错了
你不能测试什么就把什么放最后啊,那不跟没有switch一样