【发布时间】:2011-11-30 22:13:18
【问题描述】:
在以下代码中:
int i = 0;
switch(i)
{
case 0:
cout << "In 0" << endl;
i = 1;
break;
case 1:
cout << "In 1" << endl;
break;
}
会发生什么?它会调用未定义的行为吗?
【问题讨论】:
-
为什么会这样?如果您期望在将
i更改为 1 后执行case 1,那么这也不会发生,因为一旦break在case 0的末尾执行将到达switch语句的末尾遇到了。
标签: c++ switch-statement