一道面试题,请问输出结果是什么
#include<stdio.h>
int main()
{
int *p; p=(int*)0;
printf("%d %d", ++p,++p);
system("PAUSE");
}
[解决办法]
这题的意思,就是找内存0地址出处+2,也就是0x00000002的存储值,输出两遍。
也有的编译器处理后的结果是,输出0x00000001和0x0000002两个地方的值
不同的编译器对连续自增的处理不一样,有的输出的结果相同,有的不同
而且结果不一定是多少,因为内存0地址处到底是多少,你不可能知道的。
所以本题没啥意思。真要是面试题,出题的人也太扯了