D.556 2022-10-22 10:53 采纳率: 66.7%
浏览 30
已结题

sizeof(10+‘a’)的值是多少

sizeof(10+‘a’)的值是多少?具体是怎么算的呀?大一新生,学不会C++了怎么办🥹

  • 写回答

3条回答

  • Apologize2U 2022-10-22 11:24
    关注

    sizeof(10+'a')的值为4,sizeof()函数是获取某个数据类型所占用空间的字节数。这里要用到 ASCII码 和 数据类型中的自动类型转换 相关知识。
    10+'a' 是一个int类型 加 字符类型 ,在不同类型变量之间的混合运算中,int + char ,char类型会先转换成int类型,通过査 ASCII码可得 a对应的十进制数为 97 ,现在就变成了int + int ,这样就可以计算了,得出结果 107 。此时就是sizeof(107),即int类型所占用的字节数,结果为4
    代码可以运行下自己理解,希望你能继续坚持学习!

    #include<iostream>
    using namespace std;
    
    int main() {
        int x;//任意int类型
        cout<<"任意int类型所占字节数:\t"<<sizeof(x)<<endl;
        cout<<"a对应的ASCII码值:\t"<<'a'<<endl;
        cout<<"a对应97,97+10=107\t"<<(10+'a')<<endl;
        cout<<"sizeof(10+'a')的值为:\t"<<sizeof(10+'a');
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月22日