(c语言题)已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a)

(c语言题)已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为____。
A.3,1 B.15,12 C.15,1 D.3,12

选C。
"||"是逻辑运算符“或”,即有真则真。
c语言中非0为真,0为假。
a!=0所以(a||(b-=a))为真,后面的b-=a不需判断被忽略
所以b不变,c=1追问

为什么b不变?

追答

C语言的规则:
"||"前者为真则后者被跳过,值为1(真),其它情况后者需进行判断;
"&&"前者为假则后者被跳过,值为0(假)……

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-22
选A
b-=a:b=b-a;
因为b与a都不为0 所以c=1
第2个回答  2013-12-22
选c追问

为什么?

追答

‖运算是逻辑运算,只要二者不全为零就是1,只给c付了值,所以b没有改变

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网