首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-04-28 
一道面试题,请问输出结果是什么#includestdio.hint main(){int *p p(int*)0printf(%d %d, ++p,++p)

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

 system("PAUSE");
}


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

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

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

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

热点排行