51,408
社区成员
发帖
与我相关
我的任务
分享这特么+5不赋值可太特么变态了
uchar ch="A";
ch++;//ch=ch+1;ch="B";
ch+5;//ch不变
这个涉及两个知识点,字符的编码(其中Java的是unicode,c/c++的是ASCII码)和运算法优先级,还有注意审题。这道题的答案是B,就是ch的结果是字符B。在四则运算时,字符会以对应编码号进行运算,而++比+优先级更高,所以先执行ch++,即此步结果是下一个编码的字母B,以字符类型打印就是B,转为编码号是66。后面的+5无法把值加到ch变量上,所以这步并没有改变ch的值。最终结果就是B。
有个东西叫ascll码,然后你给char变量存一个数字65,打印出来就是A。你说这个时候做加减运算会如何呢?

