if(i=a<b?a:b;i>0;i--)啥意思?

如题所述

看前面,像一个if语句(判断分支语句);再看后面,就不是了。
看括号内的内容:用两个分号隔开成为三部分,代表三个表达式(也可看成三个语句):
第一个i=a<b?a:b,是一个赋值语句,把表达式a<b?a:b的值赋给变量i。这是一个问号表达式,先判断a与b的大小,如果a<b为真,则表达式的值为a,否则表达式的值为b。
第二个是i>0,是一个关系表达式。
第三个是i--,是i的后自减表达式。
这样三个表达式放在一起,不符合if语句的语法。所以它不是if语句。
在C语言中,只有for语句(循环语句),才需要这样三个表达式。
所以,整句话应该是for(i=a<b?a:b;i>0;i--)的误写。
有什么问题请留言。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网