关于const的一点问题
#include <stdio.h>int main()
{
const int i=0;
int *p=(int*)&i;
(*p)++;
printf("&i=%d\n",&i);
printf("p=%d\n",p);
printf("*p=%d\n",*p);
printf("i=%d\n",i);
printf("*(&i)=%d\n",*(&i));
printf("*(int*)&i=%d\n",*(int*)&i);
return 0;
}
谁能解释一下:
在C编译器中,该程序输出都是1
而在C++编译器中,i=0,*p=1呢?它们的地址是一样的啊???
注:本人在VC6.0中测试