三目运算符:
三目运算符:?:
语法:
表达式1 ?表达式2 : 表达式3;
语义:执行表达式1,看看表达式的结果,如果为真,则执行表达式2,否则执行表达式3
口语:问表达式1成立吗?成立就表达式2,否则表达式3
例:
int a = 10,b=20;
intmax=a>b? a : b;//表达式1? 表达式2: 表达式3
printf("c=%d",c);//打印20
解释:因为a的值是10,b的值是20,很明显a是小于b的,所以表达式1成立,则执行a+b,所以最 后c的值为30
上面这句相当于
int max;
if(a > b){
max = a;
}else{
max = b;
}
什么时候用三目?
三目运算符:?:
语法:
表达式1 ?表达式2 : 表达式3;
语义:执行表达式1,看看表达式的结果,如果为真,则执行表达式2,否则执行表达式3
口语:问表达式1成立吗?成立就表达式2,否则表达式3
例:
int a = 10,b=20;
intmax=a>b? a : b;//表达式1? 表达式2: 表达式3
printf("c=%d",c);//打印20
解释:因为a的值是10,b的值是20,很明显a是小于b的,所以表达式1成立,则执行a+b,所以最 后c的值为30
上面这句相当于
int max;
if(a > b){
max = a;
}else{
max = b;
}
什么时候用三目?
就是判断条件后的语句比较少得时候用3目,如果有多条语句的时候用if-else