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; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用