sizeof(10+‘a’)的值是多少?具体是怎么算的呀?大一新生,学不会C++了怎么办🥹
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;
}
10+'a'时,'a'会根据ASCII码将其转换为97,即97+10等于107;而sizeof()是得到括号中数据类型的大小,此处107是int类型(int 占4个字节),所以控制台输出4