c语言中b=2,为什么b||3=1?

Python09

c语言中b=2,为什么b||3=1?,第1张

这是逗号表达式,逗号表达式的值取最后一项表达式的值,例如(3,4,5)则表达式的值为5,(b=1,c=2,d=3)的值取表达式d=3的值。复杂点(3,(4,5))的值为5,因为(3,(4,5))的值为(4,5)的值

赋值和定义你没分清,int

是定义一个变量,等号是赋值

int

a;int

b;或者int

a,b;都是定义变量,说白了,就是a和b这两个变量你在程序中可以用了,不定义是不可以直接用的。

关于赋值,就是一个“=”,比如a=1;那就是让a的值为1了。

int

a

=1,b=2;这句话的意思就是定义a和b,顺便赋值使a=1,b=2。

对于第二句,int

a=1;b=2;你定义了a并赋值给它1,b=2是给b赋值2,但是在此之前你并没有定义b,所以程序应该会报错。

注意分号的使用,分号在你这种情况下就把两个语句分开了。

答案:

b

=

1

解释:

因为&&是逻辑与运算,当且仅当两边的值都是非0值(真值)时,整个表达式值(“=”符号右边部分)才为真(值为1),否则为假(值为0)