读书人

很纳闷的一段代码求答疑高手来看看

发布时间: 2012-10-19 16:53:36 作者: rapoo

很疑惑的一段代码,求答疑,高手来看看
#include<stdio.h>
int main()
{
const int a=3;
int *p=(int *)&a;
*p=6;
printf("%d\t%d\n", *p , p );
printf("%d\t%d\n", a , &a );
return 0;
}


运行结果:
6 1245052
3 1245052
Press any key to continue


谁能帮我解释下这个运行结果怎么会在同一个地址下,值却不同。

[解决办法]
另外,不同的编译器答案不同。

在VC6.0下应该都是

6

6

地址相同。

所以我说编译器优化结果。
[解决办法]
http://wenku.baidu.com/view/d6590521af45b307e8719737.html
楼主要学会自己查资料啊~

读书人网 >C语言

热点推荐