x= - -a || b&& + +c; printf(“%d \n ” ,x ); 是什么意思?解释一下main(){int x , a=1, b=2, c=0 ;x= - -a || b&& + +c;printf(“%d \n ” ,x );} A 1 B 0 C -1 D 非零值

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 11:19:59
x= - -a || b&& + +c; printf(“%d \n ” ,x ); 是什么意思?解释一下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= - -a || b&& + +c; printf(“%d \n ” ,x ); 是什么意思?解释一下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= - -a || b&& + +c; printf(“%d \n ” ,x ); 是什么意思?解释一下
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= - -a || b&& + +c; printf(“%d \n ” ,x ); 是什么意思?解释一下main(){int x , a=1, b=2, c=0 ;x= - -a || b&& + +c;printf(“%d \n ” ,x );} A 1 B 0 C -1 D 非零值
你首先要知道||和&&的用法,还有||,&&,--,++,=的优先级!其中--和++的优先级最高,故先计算这两个运算,--表示自减,a由1变为0,++表示自加,c由0变为1,再就是&&的优先级要高于||的优先级,故先计算&&,&&表示并的意思,只有当&&两端的数值都为非0时,那么作为整体,它会输出对应的逻辑1,像本题,b=2非0,c=1非0,所以b&&c=1.再就计算||,||表示或,当变量都只要有一个非0时,那么它作为一个整体输出逻辑的1,像本题,--a||(&&++c),括号里面的由前面已知为1了,所以尽管--a为0,当整体对应输出的还是1,所以x=1.

变量x的值等于a自减1(a=a-1),判断运算后的a是否是非0的数,如果是的话,x=1,如果不是的话,再看b是否为非零的数,如果b非零的数,x仍然等于1,如果前面的--a与b都为0时,结果:x=0;main() {int x , a=1, b=2, c=0 ; x= - -a || b&& + +c; printf(“%d \n ” ,x ); } A 1 ...

全部展开

变量x的值等于a自减1(a=a-1),判断运算后的a是否是非0的数,如果是的话,x=1,如果不是的话,再看b是否为非零的数,如果b非零的数,x仍然等于1,如果前面的--a与b都为0时,结果:x=0;

收起