C语言sizeof运算符详解:++i + ++i的秘密
#include<stdio.h>\n\nint main()\n{\n\t\tint i=3;\n\t\tint j; \n\t\tj = sizeof(++i + ++i);\n\t\tprintf("i=%d j=%d",i ,j);\n}\ni的值是3.\n\n这是因为sizeof运算符是在编译时求值的,它的作用是返回一个表达式或变量的字节大小. 在这里,++i + ++i虽然看起来是两次对i的自增操作,但是sizeof运算符并不会对表达式进行实际求值,它只会计算表达式的类型大小. 因此,i的值没有被改变,仍然是3. 而j的值是表达式的类型大小,根据整型的大小通常为4字节,所以j的值为4.
原文地址: http://www.cveoy.top/t/topic/p3Lk 著作权归作者所有。请勿转载和采集!