C语言中b=(-1)&&(0,1)是什么意思?

2025-03-14 00:58:52
推荐回答(5个)
回答1:

(1):
/和%优先级相同,但是结合顺序是从左往右
a=d/100%9
等价于:
a=(d/100)%9
因为d是int  所以
d/100=2,
2%9=2
a=2;
(2):
(0,1)是逗号表达式,结果是1
(-1)&&1结果是1
b=(-1)&&(0,1)=1

回答2:

对于一个逻辑表达式,其值只要不是0就被设置为1,

(-1)不是0,所以就认为是1,

对于一个逗号表达式,它的值取最后一个表达式的值,即

x = (0,1,2,3);

则x的值为3,所以这里(0, 1)的值为1,

所以b = (-1)&&(0, 1)等价于

b = 1 && 1

所以b的值为1。

回答3:

&&是与运算符,如果两边都是非0运算结果才是1这应该知道吧。-1就是一个非零常量,(0,1)这个考得主要是“,”运算符,不管括号内有多少个数都取最后一个值作为&&运算右边的量,所以两边都是非0,运算结果为1.基本就是这样,有问题可以再提问。

回答4:

(0,1)是逗号表达式,这个表达式的值就应该是最右边这项的值1

b=(-1)&&(0,1)
就相当于b=(-1)&& 1;由于-1和1都是非0值&&运算之后肯定为真,为真则值为1所以b=1;

回答5:

都好表达式 表达式1,表达式1,其求解过程先求表达式1,后求表达式2,整个表达式值是表达式2的值,所以(0,1)的值是1,(-1)加括号是为了调整结合顺序。