C语言题 int i=6,j=6,k=3. 则k+=i<j?i++:--j;的值为

来源:百度知道 编辑:UC知道 时间:2024/06/10 05:09:00

8

验证后的结果
#include<stdio.h>
int main()
{
int i=6,j=6,k=3;
printf("%d",(k+=i<j?i++:--j));
}
(最高)
() [] -> . 自左向右
! ~ ++ -- + - * & sizeof 自右向左
* / % 自左向右
+ - 自左向右
<< >> 自左向右
< <= > >= 自左向右
== != 自左向右
& 自左向右
^ 自左向右
| 自左向右
&& 自左向右
|| 自左向右
?: 自右向左
= += -= *= /= %= &= ^= |= <<= >>= 自右向左
(最低) , 自左向右
优先级表 自己比较下
小于号先执行
然后是 ?:
最后是 +=

i<j为false

所以k+=--j

即k+=5

k=8

8

5