直接看代码
#include <stdio.h>
int main()
{
int i = 2;
int j;
j = sizeof(++i + i++);
printf("i = %d, j = %d", i ,j);
return 0;
}
执行结果:

可以看到 i的值一直是没有变的, j 是int类型下 sizeof占用的大小为 4个字节,不是i的 2+2的大小,即使我修改i的值为3 j的大小也是4.
本文解析了C语言中,`sizeof`运算符在计算int类型变量占用内存时,即使变量值改变,结果仍固定为4字节的现象,强调了`sizeof`是编译时确定的,而非运行时根据变量值计算。
直接看代码
#include <stdio.h>
int main()
{
int i = 2;
int j;
j = sizeof(++i + i++);
printf("i = %d, j = %d", i ,j);
return 0;
}
执行结果:

可以看到 i的值一直是没有变的, j 是int类型下 sizeof占用的大小为 4个字节,不是i的 2+2的大小,即使我修改i的值为3 j的大小也是4.

被折叠的 条评论
为什么被折叠?