c +1是一个
int,因为操作数经过二进制数值提升:
c
是一个char
1
是一个int
因此
c必须扩展以
int使其兼容添加;表达式的结果是
int。
至于“起作用”的事情:
c = (char)(c + 1)
将表达式显式转换为char
,因此其值与变量的类型兼容;c += 1
等同于c = (char) ((c) + (1))
,因此与上一个基本相同。c++
属于类型char
,因此不需要强制转换。

c +1是一个
int,因为操作数经过二进制数值提升:
c是一个
char
1是一个
int
因此
c必须扩展以
int使其兼容添加;表达式的结果是
int。
至于“起作用”的事情:
c = (char)(c + 1)将表达式显式转换为
char,因此其值与变量的类型兼容;
c += 1等同于
c = (char) ((c) + (1)),因此与上一个基本相同。
c++属于类型
char,因此不需要强制转换。