C ++这段代码做了什么?

时间:2013-03-15 19:52:16

标签: c++

在我的书中有一段我不理解的代码。很遗憾没有解释它的作用......

int big = 200;
int small = 100;
int max = (a <= b) ? big : small;

所以我所知道的是有3个变量(lol ..) 整数'max'得到big的值,但为什么呢? (a <= b)显然是一个条件,但'?'是什么?和':'吗?

我希望有人能解释我......

5 个答案:

答案 0 :(得分:5)

?ternary operators

int max = (a <= b) ? big : small;

相同
int max;
if(a <= b) max = big;
else max = small;

答案 1 :(得分:4)

如果a小于或等于b则max等于big,否则max等于small。有关详情,请查看Ternary Operator

答案 2 :(得分:4)

?:是条件运算符。

int max =(a<=b) ? big : small

表示如果a<=b为真,则为max=big i.e. 200其他max=small i.e. 100

一般语法:

condition ? value_if_true : value_if_false

答案 3 :(得分:3)

这与:

相同
if(a <= b){
    max = big;
}
else{
    max = small;
}

答案 4 :(得分:2)

它是一样的:

int big = 200, small = 100, max;

if (a <= b)
  max= big;
else
  max = small;