该变量i被声明为const但我仍然可以使用指向它的内存位置的指针来更改该值.这怎么可能?
int main()
{
const int i = 11;
int *ip = &i;
*ip=100;
printf("%d\n",*ip);
printf("%d\n",i);
}
Run Code Online (Sandbox Code Playgroud)
当我编译时,我得到这个警告:
test.c: In function ‘main’:
test.c:11: warning: initialization discards qualifiers from pointer target type
Run Code Online (Sandbox Code Playgroud)
输出就是这个
100
100
Run Code Online (Sandbox Code Playgroud)