C++ char a='1';cout<<a+1<<endl;
为什么输出结果是51而++a的输出结果是2呢?
抱歉,原题是先输出++a再输出a+1,我明白了,但是不懂++a输出为什么是2呢?
追答char类型相加会先转换成int然后相加,也就是说++a ==>a + a ==>1 + 1 =2
然后得到的是一个char型,char型再加1(int)
这时候char型会将char字符转换成ascii值进行与int相加,也就是说
a + 1 ==> '2' + 1 ==> 50(2的ascii) + 1 =51
嗯嗯,明白了,非常感谢
那个,不好意思打扰一下请问一下,m_b=+a的意思是什么呢?
本回答被提问者采纳