Razor0109 Asked:2020-12-16 00:31:01 +0800 CST2020-12-16 00:31:01 +0800 CST 2020-12-16 00:31:01 +0800 CST C++ 中的“ch++”还是“ch+1”? 772 char ch; cin.get(ch); cout << ch+1; 为什么他会这么cout认为?如果没有。chint++ch c++ 1 个回答 Voted Best Answer AnT stands with Russia 2020-12-16T00:38:38+08:002020-12-16T00:38:38+08:00 这里的关键点是 根据定义,表达式++ch等价于表达式ch = ch + 1。 C++ 中的所有整数运算至少都以类型int(或)完成。unsigned int较小的类型会int在计算开始之前自动转换为类型。 表达式中的所有计算ch + 1都是在 type 上完成的int,并且该表达式的结果是 type int。当您立即打印此结果时,它被解释为 type 的值int。 表达式++ch等价于表达式ch = ch + 1。首先,计算表达式的结果ch + 1(仍然是 类型int),然后将其放回变量ch中。变量本身ch成为整个表达式的结果++ch。值类型变为char。
这里的关键点是
根据定义,表达式
++ch
等价于表达式ch = ch + 1
。C++ 中的所有整数运算至少都以类型
int
(或)完成。unsigned int
较小的类型会int
在计算开始之前自动转换为类型。表达式中的所有计算
ch + 1
都是在 type 上完成的int
,并且该表达式的结果是 typeint
。当您立即打印此结果时,它被解释为 type 的值int
。表达式
++ch
等价于表达式ch = ch + 1
。首先,计算表达式的结果ch + 1
(仍然是 类型int
),然后将其放回变量ch
中。变量本身ch
成为整个表达式的结果++ch
。值类型变为char
。