1.int  i=1;sizeof(i++);i的值变为多少?

这个问题嘛,我相信很多人和我一样,i++之后i不就等于2了吗。

可是sizeof是在编译期间计算的,所以i++不执行;也就是说i的值依旧是1;

#include<iostream> using namespace std; int fun() { cout << "fun()"; return 1; } int main() { int i = 1; int a1=sizeof(i++); cout << i << endl; int a2 = sizeof(fun()); cout << a2 << endl; return 0; }

运行结果为:

1

4