关于const的一点问题,希望有人站出来解答
#include<stdio.h>int main()
{
const int a=3;
int *p=(int*)&a;
*p=100;
printf("%d",a); //输出为3,难道p与&a不是同一地址吗?
return 0;
}
如注释,为什么a输出依然为三?
int main()
{
int a=2;int b=4;
int* const p=&b;
printf("%d",*p); //输出为 4
int **p1=(int**)&p;
*p1=&a;
printf("%d",*p); //输出为 2
return 0;
}
而这个输出就为正确的?TELL ME WHY? 谢谢了,可以的话再讲下用处!