【发布时间】:2017-07-15 13:32:50
【问题描述】:
int const i = 10;
int *j = &i;
*j = 20;
printf("%d",i);
如果 i 是常量,即使通过指针也不应该改变它。如果不是,它不改变的条件是什么?
【问题讨论】:
-
编译器不会警告你这个初始化
int *j = &i;吗?我希望它会发出这样的消息:“警告:初始化从指针目标类型中丢弃‘const’限定符” -
未定义的行为是未定义的。
-
又不是这个:(
标签: c