其他分享
首页 > 其他分享> > 在c中添加两个字符文字

在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