首页 > 试题广场 >

func(1)的值是多少?

[单选题]
int func(int a){
  int b;
  switch(a){
  case 1:b = 100;
  case 2:b = 200;
  case 3:b = 250;
  default:b = 0; }
  return b;
}
func(1)的值是多少?
  • 100
  • 200
  • 250
  • 0
选D
这是提醒我们使用switch要加上break,a=1会一直执行所以case,所以最后输出0
发表于 2015-08-12 13:52:33 回复(5)
我选的250。。。太大意了😂
发表于 2016-04-10 23:37:38 回复(2)
case后面语句不加break, 就会一直运行下去,直到switch结束。
发表于 2016-08-07 18:03:37 回复(0)
在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。

为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。
发表于 2017-06-20 09:04:26 回复(0)
没有break语句,所以会执行到0
编辑于 2015-07-21 21:49:38 回复(0)
大意了,穿透
发表于 2022-08-18 10:05:37 回复(0)
0
发表于 2014-11-15 13:33:55 回复(0)
大意了……许久不用switch的后果……
发表于 2016-10-29 10:48:50 回复(0)
好坑
发表于 2023-08-02 09:48:42 回复(0)
记住  case语句执行结束后要  靠break跳出循环
发表于 2022-09-07 22:24:40 回复(0)
干脆是连default和break都不记得了
发表于 2022-07-28 09:42:42 回复(0)
选D
这是提醒我们使用switch要加上break,a=1会一直执行所以case,所以最后输出0
发表于 2022-06-05 16:12:22 回复(0)
case后面都没有break语句,故会一直执行,直到swtich语句结束为止。
发表于 2022-04-07 08:21:54 回复(0)
走到default 一定会执行语句b=0
发表于 2022-04-06 00:14:45 回复(0)
没有加break,那么后面每一句都会执行一次
发表于 2022-03-10 11:27:52 回复(0)
swcith case结构,如果不加break,就会顺着一直执行到最后一行的default在输出结果。
发表于 2021-11-18 14:56:54 回复(0)
break,不然执行完,一定注意细节
发表于 2021-10-16 14:31:29 回复(0)
case后面语句不加break, 就会一直运行下去,直到switch结束。
发表于 2021-05-06 16:47:55 回复(0)
swith,没碰到break,都会往下走,走最后default结束~
发表于 2021-03-24 19:23:29 回复(0)
case后面语句不加break, 就会一直运行下去,直到switch结束。
发表于 2020-06-22 01:32:00 回复(0)