这里是在DEVC++窗口中编译的代码:
#包括<;标准h>;
int main(){
int x=5;
printf(“%d和”,sizeof(x++);//注1
printf(“%d\n”,x);//注2
返回0;
}
我希望执行注释1后,x为6。然而,输出是:
4和5
有人能解释为什么x在注1之后没有增加吗
来自C99标准(重点是我的)
6.5.3.4/2
sizeof运算符生成其操作数的大小(以字节为单位),可以是表达式或类型的括号名称。大小由操作数的类型决定。结果是一个整数。如果操作数的类型是可变长度数组类型,则对操作数求值;否则,不计算操作数,结果为整数常量