如果x == 42,输出是多少

时间:2011-03-05 12:30:11

标签: c++

switch (x % 5)
{
case 0: cout << x++ << '';
   case 1: cout << x-- << '';
   break;
case 2: cout << ++x << '';
case 3: cout << --x << '';
default: cout << 2*x << '';

}

5 个答案:

答案 0 :(得分:1)

由于''是一个空字符常量,因此会出错。所以程序没有输出。

答案 1 :(得分:0)

以下是解释:

如果x为42,则x%5 = 2。 因此,将执行情况2。由于没有中断,因此案例3和默认也将被执行。

因此输出为:

43 42 84

答案 2 :(得分:0)

43,42,84编译并在我的机器上运行。

看起来像家庭作业¬_¬

你击中了第二种情况,然后由于没有休息而点击案例3并默认;

答案 3 :(得分:0)

http://codepad.org/asP1EbPw - 检查它真的很难吗?

答案 4 :(得分:-1)

你必须放一个

break;

在每个案件结束时。如果你不这样做,你的x var将有一个奇怪的值,因为输入两个或更多开关的情况。