【发布时间】:2013-11-09 21:45:30
【问题描述】:
谁能解释一下下面程序的输出:
int main()
{
int i=512;
char *c=(char*)&i;
c[0]=1;
cout<<"i is:"<<i<<endl;
return 0;
}
输出为:513
【问题讨论】:
-
你期待什么输出?
-
正式,即UB,依赖平台
-
我很高兴找到一个副本。
-
@BЈовић 为什么会是 UB?
-
@jrok: 打破别名规则?
标签: c++ pointers casting char int