C语言x=(a--==--b)?--a:b--是什么意思
2个回答
展开全部
先执行判断:a--==--b
即先取a的值,将b的值先减1后再进行相比较,取比较结果(随后a再减1)。
若比较结果为“真”则取--a的值(将a先减1后取值)赋值给x;
若比较结果为“假”则取b--的值(将b先取值后再减1)赋值给x。
举例:若int a=3,b=4;则
a--==--b
的值为真(因为a--值为3,然后a=2),而--b的值为3(b先变为3再取值),而3==3。
所以就将--a的值赋给x,即x=a=1。
再举例:若int a=3,b=5;则
a--==--b
的值为假(因为a--值为3,然后a=2),而--b的值为4(b先变为4再取值),而3!=4。
所以就将b--的值赋给x,即先将原b的值赋给x,x=4,再b减1,b=3。
即先取a的值,将b的值先减1后再进行相比较,取比较结果(随后a再减1)。
若比较结果为“真”则取--a的值(将a先减1后取值)赋值给x;
若比较结果为“假”则取b--的值(将b先取值后再减1)赋值给x。
举例:若int a=3,b=4;则
a--==--b
的值为真(因为a--值为3,然后a=2),而--b的值为3(b先变为3再取值),而3==3。
所以就将--a的值赋给x,即x=a=1。
再举例:若int a=3,b=5;则
a--==--b
的值为假(因为a--值为3,然后a=2),而--b的值为4(b先变为4再取值),而3!=4。
所以就将b--的值赋给x,即先将原b的值赋给x,x=4,再b减1,b=3。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询