当前位置:回答三>百科问答>问号表达式的求解顺序

问号表达式的求解顺序

2024-06-09 07:40:13 编辑:join 浏览量:617

问号表达式的求解顺序

……?……:……

式A?B:C值为:若A为真,则B;若A为假,则C。

但有一点是值得注意的,那就是问号表达式的结合性,问号表达式是从右往左的运算方向

尤其是当问号表达式嵌套使用时得注意这个问题,例如

代码:

int a=1,b=2,c=3,d=4;

printf("%d",a

正确结果是:1

因为先执行的是c

因此得到的结果就是1(可以在编译器上实验一下)

题目的意思是如果M为真,即M!=0,就执行a++,如果M为假,即M==0,就执行a--。所以这个M就相当于判断M是否等于0.

你的意思就是如果M为真,也就是说M!=0,就执行a++,如果M为假,也就是说M==0,就执行a--。所以这个M就相当于判断M是否等于0;如果还看不懂的话,你可以去看下C语言书上的条件表达式的那章,很简单的,好好加油,祝你成功!~

其中:a

是赋值表达式,那么因为在C语言中,条件表达式的优先级排名13

高于赋值表达式的优先级14,因此这个语句的意思就是:当a小于b时,c=a;而当a大于或者等于b时,c=b;再翻译过来就是说这个语句执行完得到的效果就是c的值是取得a,b俩者当中较小的那个

问号表达式是这个样子的 语句a?语句b:语句c

如果满足语句a,就执行语句b;

否则执行语句c.

标签:问号,表达式,求解

版权声明:文章由 回答三 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.huidasan.com/answer/118049.html
热门文章