C语言逻辑预算符可以写成a&&b=1的形式吗 (赋值运算符)?

如题所述

不可以,a&&b=1写法是错误的,正确的写法是a && b==1或者a && (b=1)。

解释:

在C语言运算符中等号的优先级比&&低,如果写成a&&b=1意思是先a&&b再赋值,而a&&b结果是一个数,等号左边是不能为数的,只能是变量。

参考C语言优先级图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-27
可以 ,但是个人感觉没用什么意义,你把一个固定值赋值给两个变量区运算。
补充 &&是位 与的意思 (例如 if( a>1 && b> 1) )
& 是与的意思(例如 a = b &0x80)
第2个回答  2021-08-27
不可以,语法错误。

a&&b运行的结果必然是true或false,不再是变量,不可以做为左值。值【1】不可以赋值给值【true或false】,只能进行比较(a&&b==1)。
第3个回答  2021-08-27
不可以
根据,等效于
(a&&b)=1
显然子表达式a&&b不能作为赋值运算符的左操作数,不是可修改的左值本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网