您的位置首页生活百科

问号表达式的求解顺序

问号表达式的求解顺序

的有关信息介绍如下:

问号表达式的求解顺序

……?……:……

式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.