int a=3,b=5,c; c=(a>--b)a++:b--; a和b的值分别是?

2025-03-01 01:15:47
推荐回答(5个)
回答1:

a的值为4,b的值为3。
代码解释:先是定义整型变量a、b、c,并给a赋予初值3,给b赋予初值5;接着,给c赋值于 (a>--b)的值,a的值为3,经--b运算后的b的值为4,所以(a>--b)为假,其值为0,所以c的值为0;然后,进行a++运算,a自加1得4;b--运算,b自减1得3。所以,a的值为4,b的值为3。
如果说最后一段代码是 c=(a>--b)?a++:b--;那么因为(a>--b)为假,所以先将b的值赋予c,c的值为4,再进行b--运算,得到b的值为3,而a的值不变。此时a的值为3,b的值为3。
如有错误,请多原谅。

回答2:

c=(a>--b)a++:b--;是不是c=(a>--b)?a++:b--; ?

如果是的话,那运算顺序是:

  1.  --b,故 b=4

  2. a > --b(4), 故值为假,c=a++

  3. a++为4,故a  = 4 则c = 4

  4. 如上所述:a、b、c均为4

回答3:

首先,"?"是c++中的三元运算符,是条件运算符。此题意思是,赋值a,b分别为3,5。声明c变量。如果a>--b为真,则输出a++;否则输出b--。然后判断:a=3

回答4:

执行比较3>4?
否,b--; 于是 b 变成3
a b 的值分别是 3 3 。

回答5:

应该是 c=(a >--b)?a++:b--;
结果是a=3;b=3;