读书人

一道面试题请教输出结果是什么

发布时间: 2012-04-28 11:49:53 作者: rapoo

一道面试题,请问输出结果是什么
#include<stdio.h>
int main()
{
int *p; p=(int*)0;
printf("%d %d", ++p,++p);

system("PAUSE");
}


[解决办法]
这题的意思,就是找内存0地址出处+2,也就是0x00000002的存储值,输出两遍。
也有的编译器处理后的结果是,输出0x00000001和0x0000002两个地方的值

不同的编译器对连续自增的处理不一样,有的输出的结果相同,有的不同

而且结果不一定是多少,因为内存0地址处到底是多少,你不可能知道的。

所以本题没啥意思。真要是面试题,出题的人也太扯了

读书人网 >C语言

热点推荐