在c中添加两个字符文字
作者:互联网
当我写下面的代码时,输出是110.任何人都可以告诉我为什么我得到这个值?
#include<iostream>
int main()
{
std::cout << '9' + '5';
return 0;
}
解决方法:
对于ASCII encoding,“9”和“5”的值分别为57和53.
57 53等于110.
你要添加的是字符的编码值,而不是它们的数字.
并且您获得输出110(而不是具有值110的ASCII字符’n’),因为添加导致字符为promoted到int值,结果是未转换为char的int值.
标签:addition,c,character,literals 来源: https://codeday.me/bug/20190827/1746123.html