首页 > 试题广场 >

设有语句int a=5,b; b=a3&&0, a++;执

[单选题]
设有语句
int a = 5, b;
b = a > 3 && 0, a++;
执行后变量 b 的值为__________()
  • 5
  • 6
  • 0
  • 1
把&&看成||了
发表于 2018-05-13 08:18:33 回复(0)
注意优先级,()大于&&大于 = 大于 ,
所以一定要分清楚运算符的优先级和结合顺序
【解析】 
     选项A
            int a = 5, b;
            b = (a > 3 && 0,a++);
            //这样写的结果会是5,逗号运算符结合性为自左到右,返回最右的值
     选项B
            int a = 5, b;
            b = (a > 3 && 0,++a);
            //这样写的结果会是6
      选项C  
            int a = 5, b;
            b = a > 3 && 0,++a;
            //这样写的结果会是0
       选项D 
            int a = 5, b;
            b = a > 3 && (0,++a);
            //这样写的结果会是1



发表于 2018-09-05 09:59:09 回复(7)
b=a>3&&0  按优先级顺序排列:关系运算符>逻辑运算符,
1. a>3  (a=5)  为真,返回1
2.1&&0 返回0
3. 把0赋给b, b=0

发表于 2017-06-17 11:13:27 回复(5)

要牢记 运算符的优先级:(从其他处摘抄来的,侵删)

1. () [] . ->

2. ! ~ ++ -- + - * & (type) sizeof--非常爱考

3. * / %

4. + -

5. >>

6. > >=

7. == !=

8. &

9. ^

10. |

11. &&

12. ||

13. ? :

14. = *= /= %= += -= >>=

15. ,

编辑于 2017-12-16 15:35:17 回复(1)
逗号运算符,优先级最低。先执行b=0的赋值。
发表于 2017-05-31 16:48:09 回复(4)
int a=5,b; b=a>3&&0, a++;
没有小括号
(b = a > 3 && 0) ,(a++) ;
b=0 , a++ ;
所以b = 0 ;
发表于 2017-09-27 16:47:35 回复(0)

要牢记 运算符的优先级:(从其他处摘抄来的,侵删)

1. () [] . ->

2. ! ~ ++ -- + - * & (type) sizeof--非常爱考

3. * / %

4. + -

5. >>

6. > >=

7. == !=

8. &

9. ^

10. |

11. &&

12. ||

13. ? :

14. = *= /= %= += -= >>=

15. ,

发表于 2018-08-29 09:27:59 回复(0)

图片说明
图片说明

发表于 2017-07-11 18:42:32 回复(4)
a>3&&0 与操作符,同真为真,否者为假,条件成立返回1,不成立返回0,当程序运行到0的时候直接短路了,所以返回0,然后赋值给b, 该题问的是程序执行后b的值  ,跟a没有任何关系,  所以选择C
发表于 2017-05-31 21:37:02 回复(0)
逗号运算符优先级最低 居然又错了555
发表于 2022-04-05 16:09:10 回复(0)
逗号运算符的优先级低于赋值运算符!
发表于 2022-03-20 14:52:14 回复(0)
b被赋值为0,a++不会影响到b的值
发表于 2021-08-24 11:02:03 回复(0)
逗号运算符优先级最低,比赋值运算符还低
发表于 2018-09-12 16:53:01 回复(0)
赋值运算符的优先级 高于 逗号运算符
发表于 2023-09-07 11:32:33 回复(0)
先算a>3 && 0,由于a = 5, 所以&&左边为1,右边为0,那么1 && 0返回0,同真为真,否则为假;然后执行 b = 0,所以b = 0,逗号后面的a++不管怎么赋值,都与b 无关了。
发表于 2022-10-24 12:00:18 回复(0)
优先级顺序
复制运算<逻辑运算<关系运算<算术运算
发表于 2017-07-21 09:47:53 回复(0)
b = 0,a++;  //逗号运算符优先级最低,0赋值给b
b =(0,a++); //画了括号b的值才是逗号运算符最后的表达式子
发表于 2023-09-22 21:37:26 回复(0)
赋值优先级高于逗号
发表于 2023-08-31 10:30:12 回复(0)
逗号运算符
( , ) 从左到右执行,将最后一个逗号后面的值赋给前面。
逗号运算符,优先级最低,比赋值运算符还要低一个等级。
逗号运算符必须加小括号,才能起作用。
发表于 2023-08-30 19:32:07 回复(0)
复制运算符优先级大于逗号运算符
发表于 2023-07-23 23:25:43 回复(0)