这个是基础,举个例子:
int i = a>b?0:1;
意思就是:如果a>b,那么i=0,否则i=1
谢谢
int i = a?b:c;
/*
*意思为如下:
*if(i==a){
* return b;
* }else{
* return b;
*}
*/
其实这个东西用?来表示很好理解,?表示疑问,可以这样理解,是不是这样(是不是?前面这样),是那就执行紧接着?号面的东西,如果不是,那就执行:后面的东西,这样理解你就能记住了
三元表达式我见过的只有一个:(布尔表达式 ? 值真:值假),首先计算前边的表达式的值为真为假,若为真则执行问好后边冒号前边的表达式或语句,为假则执行冒号后边的表达式或语句
举个简单例子吧
int a=1;
int b=2;
int c= a>b?1:0;
结果c 为0
a>b 为条件 后面当条件为true时返回:前面的结果,反之返回:后面的结果
明白了吧