以下程序会输出什么?
[c]
#include <cstdio>
using namespace std;
int main(void)
{
int a = 1;
printf("%d\n", sizeof(a++));
printf("%d\n", a);
}
[/c]
如果你第一次看到,可能会认为输出是:
4 2
不过,程序的真正输出是:
4 1
为什么?这里有篇文章分析的比较全:
以下程序会输出什么?
[c]
#include <cstdio>
using namespace std;
int main(void)
{
int a = 1;
printf("%d\n", sizeof(a++));
printf("%d\n", a);
}
[/c]
如果你第一次看到,可能会认为输出是:
4 2
4 1