版本声明:本文转载于公众号TeachPlus
C语言面试题----switch语句
阅读下面的程序:
# include <stdio.h>
int main()
{
int a = 4;
switch(a > 5)
{
case 0:
printf("this is 0\n");
break;
case 1:
printf("this is 1\n");
break;
case 2:
printf("this is 2\n");
break;
default:
printf("this is default\n");
}
return 0;
}
写出该程序的输出是什么?
答案:
输出 this is 0;
本题解析
首先来看一下switch的用法,switch会计算括号中表达式的值。
并逐个与其后的常量表达式值相比较,
当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,
继续执行后面所有case后的语句。
如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
那么在本题中switch后面括号中的表达式是一个判断表达式,
判断表达式只有真和假两种,而在c语言中