作业帮 > 综合 > 作业

x= - -a || b&& + +c; printf(“%d \n ” ,x ); 是什么意思?解释一下

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 02:44:37
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.