已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( )

如题所述

15,1
执行a||(b-=a)时,如果a为真,则后面的(b-=a)就不执行了,所以b=15
而c=1(1是真)追问

请问一下||符号的具体用法

追答

||是或运算
与||相对应的有与运算&&
a||b,当a,b其中有一个为真,则整个表达式为真(1),当a,b全为假,则整个表达式为假(0)
a&&b,当a,b其中有一个为假,则整个表达式为假(0),当a,b全为真,则整个表达式为真(1)

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-18
变量b的值为3
变量c的值为15

(b-=a)相当于b = b - a 所以值是3

a || b 的值是二进制的或运算,也就是1100||0011 = 1111
二进制的1111也就是15追问

对不起,答案应该是15,1,可是我不知道为什么

追答

我是反面教材,哈哈

相似回答