c语言的问题 运算结果

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:38:55
2. main( )
{ int k=2;
Switch (k)
{ case 1: printf(“%d”,k++);
case 2: printf(“%d”,k++);
case 3: printf(“%d”,k++);
case 4: printf(“%d”,k++); break;
default : printf(“full!\n”);
} printf(“\n”);
}
求运算结果
234后没有full!?
额 “因为你双引号是中文的”这句话不太能理解,哪个双引号?

结果是234
因为k = 2,所示会执行case 2分支。
因为case 2分支中没有break语句,所以它会继续执行下去。case 3,case 4.
当执行到case 4分支后,因为遇到break语句,程序会退出switch语句。所以不会再执行default分支。所以不会打印full

234
没有,因为你break跳出了
原则上讲,你这就不能运行的,因为你双引号是中文的,所以应该没有输出结果

还有什么疑问不?
"%d"这里,程序的标点符号都要求是英文状态下输入的啊

234
switch选择循环结构满足case执行输出语句
break是结束循环体,不再执行循环结构
可换成continue来结束本次循环

234

234