单独定义变量接受ch+1的值与结构表达式的值为何不同

来源:3-5 选择练习

Li_fei

2019-03-23 09:29:12

char ch='8';
char ch1=ch+1; // 程序报错
int n=ch+1; // 结果56
int r=10;
switch(ch+1) {
    case '7':r=r+3;
    case '8':r=r+5;
    case '9':r=r+6;
    break;
    default:
    r=r+8;
}

求解:单独定义变量接受ch+1的值与结构表达式的值为何不同

写回答

1回答

irista23

2019-03-24

ch+1,字符通过计算(+1)自动转换为int类型了,由int转为char,范围缩小必须强制转化,不强转直接char ch1=ch+1;就会报错。switch中ch+1为int不存在转为char现象所以不报错。

0

0 学习 · 11489 问题

查看课程