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