修改const变量
程序代码:
#include<stdio.h> #include<windows.h> int main() { const int a=19 , *p=&a; int *q=(int *)p; ++*q; printf("%d\n",*p); //结果为20 printf("%d\n",*q); //结果为20 printf("%d\n",a); //结果为19 printf("%d\n",*(&a)); //结果为19 system("pause"); return 0; }跟踪调试时,查看a的的却是被改为20;但打印出来的确实19
而且&a,p,q的值相等,但用*好引用时却出现不同的值