1楼:我才是淡淡
|,首先你要把整个结构弄清楚,&&的优先级高于||,所以上面的式子等价于(--b&&++c)||(++a),
先看(--b&&++c),--b导致b的值为0,所以(--b&&++c)必然为假,所以c就不会加一了,c的值还是1。然后(--b&&++c)为假并不能直接断定(--b&&++c)||(++a)的真假,因为||需要两边为假才是假,所以需要判断右边的(++a),这里a自加一次变为2,(++a)为真,整个表达式(--b&&++c)||(++a)的值为真。最后a,b,c的值分别是2,0,1
2楼:
你的**是顺序结构;
所以运行的时候是先对a进行赋值,也就是a=1;
至于后面对b和c的运算,并不能改变a的值。
第一步 int a,b,c;
第二步 a=b=c=1;
第三步 --b&&++c||++a;//这个地方只有++a能改变啊的值 b和c对a的值不影响
第四步输出a的值;
3楼:益达是谁
这判断式a,b,c应该是2-0-2啊,怎么是201,还有我想问这式子对吗
4楼:匿名用户
答案应该是2 1 1
int a,b,c; a=b=c=1; ++a‖(++b &&++c);求a,b值
5楼:匿名用户
a\b\c初是1 后面的逻辑表达式本来是先算&&再算|| 但是最终还是算||,||中当左边表达式为真时就不会计算右边表达式所以只运算++a,所以结果是a=2,b=1,c=1
大学c语言问题 int a=0,b=1,c=1,d=3 表达式++b&&--c||--a的值是多少?变量a,b,c的值分别是多少?为什么? 10
6楼:匿名用户
||(|++ -- 都是比&& || 优先级高的运算符,所以先算++ --
b就是2 c就是0 a就是-1
然后算&& ||
2&&0||-1 = 0||-1 = 1 (|| 两边只要有一个不为0,结果则为1)望采纳
c语言中int a 1,b 2,c c 1.0 b a输出结果为什么
1楼 匿名用户 结果是c的值是0 因为1 0 b 都会转换位浮点型,结果是0 5 0 5 a 也是会把a转为浮点型,结果是0 5 而c是整形,会对右边运算的结果取整,所结果就是0了。 假如 int a 1 b 2 c 3 表达式a b c的值是1还是0 为什么? 2楼 岔路程序缘 在c语言中,1代表...
C语言a b和a b的区别,C语言,++a+b和++b+a有什么区别
1楼 匿名用户 自增对象不同 a b 最后自增的是b a b 最后自增的a b c语言, a b和 b a有什么区别 2楼 珑月三 a b是先a加1,然后再加b b a是先b 1,然后再加a 3楼 亱風 a b是a先自加然后加b b a是b自加,,然后加a 结果一样,但是a 和b的值不相同 c语言b...
在C语言中“a b”是什么意思,c语言中,a^b是什么意思?
1楼 匿名用户 a 异或 b 按位异或 比如 a 为 5 0101 b 为 7 0111 0010 对应位相同为0, 不同为1 希望对你有帮助。谢谢 c语言中,a b是什么意思? 2楼 匿名用户 按位异或, 例如 include int main 输出结果是8 1010 10 0010 2 1000...