main()
{int x , a=1, b=2, c=0 ;
x= - -a || b&& + +c;
printf(“%d \n ” ,x );
}
A 1 B 0 C -1 D 非零值
main()
{int x , a=1, b=2, c=0 ;
x= - -a || b&& + +c;
printf(“%d \n ” ,x );
}
A 1 B 0 C -1 D 非零值
我还是不大明白,这道题怎么做?
这个就是上面讲的意思。其实算是一种判断然后在赋值的表达式吧。首先要x值只可能是0或者1中的一个,因为后面不是一般的加减乘除运算而是类似于判断的语句,就是通过先判断--a的值是不是为非零的值,因为后面的判断符号是||,就是说两个中一个是真的,这个--a||b的值就是1,不然但--a和b的值都为0时候,--a||b的值才为0,而对于整个句子而言,是从左到右判断的,所以当你算到--a||b是非零的数就不用看后面的东西了,顺便解释一下&&的意思就是中文的和的意思,就是要前后两个都成立的时候。这个语句才成立。。。。所以答案是A
追问b&& + +c;不是一个整体是么,你看我说的对么,- -a是a-1=1-1=0 b=2,a,b都不是0所以答案是1
还是说,- -a是a-1=1-1=0 b&& + +c是b+(c+1)=2+1=3