【发布时间】:2019-06-07 17:36:25
【问题描述】:
例如,当递增字符时:char character{'a'}; 是 'a',而 INT 是 97。当我说“字符 + 1”或“a + 1”时,我将得到整数值 98 而不是 'b'。现在,如果我执行“++character”,我将得到 char 'b'。
char character{'a'};
cout << character + 1 << '\n';
cout << ++character << '\n';
【问题讨论】:
-
因为
1的类型是int。 -
C++ 中的转换规则很疯狂。 @HongOoi 即使您指定两个操作数都具有
char类型,仍然会有转换:character + char{1}。