三目运算
#define MIN(A,B) A>B?A:BA > B 则取A的值,否则取B;
#define MIN(A,B) A<B?A:B
A < B 则取A的值,否则取B;
为什么都取A的值?
拐不过来这个弯
.............................无语望天中............................. 本帖最后由 Py与C。。。 于 2021-5-26 20:54 编辑
把三目变成ifelse也许明白一些
1.if (a>b) //如果a比b大
{
return a; //返回a
}
else //即a<b
{
return b;
}
2.if(a<b) //如果a小于b
{
return a; //返回a
}
else
{
return b;
}
把三目转化为if-else:
变量1>变量2?变量一:变量2
if(变量1>变量2)
{
return 变量一
}
else
{
return 变量2
} 那就别拐弯了白明显第一个应该命名MAX ? 相当于一个判断啊 若为真1就执行:前的表达式
A>B?A:B-->a是否大于b若是 执行冒号前的表达式 0 则执行冒号后
你这个表达式没什么意义结果不保存 A或B的值并没有改变也没有保存
Z= A>B?A:B -->把三目运算符的结果值(A或B) ,赋值给z
#define 只是机械的替换
怎么会不懂呢
页:
[1]