【发布时间】:2015-10-01 11:11:55
【问题描述】:
我遇到了这段代码,我可以在其中修改const int 变量的值!但这是一个错误还是一个黑客?请澄清一下:
#include<stdio.h>
int main(void)
{
const int a = 10;
int* ptr = &a;
printf("\n value at ptr is : [%d]\n",*ptr);
printf("\n Address pointed by ptr : [%p]\n",(unsigned int*)ptr);
*ptr = 11;
printf("\n value at ptr is : [%d]\n",*ptr);
printf("\n %d",a);
return 0;
}
输出:
ptr 的值是:[10]
ptr 指向的地址:[0xbf9e614c]
ptr 的值是:[11]
11
【问题讨论】: