首页 > 试题广场 >

执行以下程序后,x的值为()

[单选题]
执行以下程序后,x的值为()
 var x=0; 
 switch(++x) { 
     case 0: ++x; 
     case 1: ++x; 
     case 2: ++x; 
 }

  • 1
  • 2
  • 3
  • 4
ゞ头像
答案选C
switch中,对x+1,此时x为1,然后进入case 1 中,又执行++x,此时x变为2;由于case 1中没有break,然后继续执行 case 2,执行++x,所以x变成3
发表于 2017-05-16 16:47:31 回复(27)
没有break,所以继续加1
发表于 2021-11-17 18:52:55 回复(0)
总结:
1.理解 ++i和 i++的区别;
2.注意细节,case 中没有break🤣,细心灵魂的考研
发表于 2021-06-29 10:07:43 回复(0)
switch中先判断x=0,然后加1,进入case0;此时x=1,然后再加一;x=2;所以进入case2,此时x=2,再执行x+1;最后结果x=3
发表于 2021-01-25 11:17:38 回复(0)

前置操作符(++i)和后置操作符(i++)的区别:
前置操作符(++i)会先自增,然后再将结果加入其他判断或计算;
而后置操作符(i++)会先进行其他判断和计算,然后再进行自增;
这道题,switch中将x自增1,此时x=1,然后进入switch判断,那么case 0被跳过,然后执行case 1,case 2,所以结果为3。

发表于 2020-03-30 14:21:07 回复(0)
执行switch(++x)后 x值为1,直接进入case 1,然后++x,x的值为2,由于case1没有break,继续向下执行,最后输出x值为3
发表于 2019-09-09 21:15:35 回复(0)
注意:
1. x++ 和++x的区别,x++是先计数再加1,从0开始;++x是先运算再计数,从1开始。
2. case中没有break,程序会接着往下走。
发表于 2018-07-13 14:15:25 回复(0)
switch判断时,当没有break语句,继续执行,直至所有case执行完毕。
发表于 2018-05-07 11:39:37 回复(0)
c  首先x为0  ++x之后变为1,进入case 1:++x   之后++x变为2,因为没有break,所以继续进入case 2:++x,此时++x变为3。
++x是先加1再输出x 。x++是先输出x,再加一。
发表于 2017-05-23 11:11:02 回复(0)
没有break
发表于 2017-07-12 09:21:02 回复(1)
我居然败在了没有break上

发表于 2019-05-27 21:55:53 回复(4)

i++ 与 ++i 的主要区别有两个:

  • i++ 返回原来的值,++i 返回加1后的值。
  • i++ 不能作为左值,而++i 可以。

详见:在程序开发中,++i 与 i++的区别在哪里?

发表于 2018-03-13 23:02:42 回复(0)
答案是x=3;首先x=0; switch的判断条件是++x,此时x=1;则进入case 1:++x;执行过之后x=2;因为没有break,则继续执行case 2:++x;则x=3;
发表于 2017-05-17 20:18:59 回复(0)
case说:我的break小弟去哪了?
发表于 2019-02-21 14:48:55 回复(0)
没有break语句,程序会继续往下执行
发表于 2018-03-26 10:10:10 回复(0)
注意没有break;所以会继续执行
发表于 2017-05-16 14:21:58 回复(0)

switch 1不走case 0,无break。完

发表于 2019-05-13 23:31:38 回复(0)

要点:

  1. 前置自增:++在前,先+1,再取值,表达式的值即为自增后的值
    后置自增:++在后,先取值,再+1,表达式的值即为自增前的值
  2. switch-case多分支结构(from w3school):
    switch(n)
    {
    case 1:
    执行代码块 1
    break;
    case 2:
    执行代码块 2
    break;
    default:
    n 与 case 1 和 case 2 不同时执行的代码
    }
    
    工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。
发表于 2017-08-14 07:53:36 回复(0)
3 ++x 和x++区别 前者先执行+1操作,后者相反。考察switch,没有break会继续执行case 2 虽然不满足条件。执行过程是:switch +1  case 1  +1  case +1 结果是3.。。。
发表于 2017-05-15 17:45:10 回复(0)
不用 break的话 会发生击穿现象,会执行到下面的case,break;是跳出switch循环, return 是 跳出 函数
发表于 2017-05-31 10:52:11 回复(0)