【发布时间】:2011-07-10 23:40:53
【问题描述】:
我写了以下代码:
int i = 0;
switch(i++)
{
case 0:
cout << 0;
case 1:
cout << 1;
}
cout << "\n" << i;
代码的输出是这样的:
01
1
谁能解释一下输出的第一行?为什么 0 和 1 都被打印出来了?
【问题讨论】:
-
任何语言中最大的设计缺陷:programmers.stackexchange.com/questions/55047/…
switch将这种愚蠢(且容易出错)的行为评为第一名。
标签: c++ switch-statement post-increment