假设已定义了变量a=1;b=2;c=3;d=4;m=1;n=1;则语句(m=a>b)&&(n=c>d);执行后m=0,n

假设已定义了变量a=1;b=2;c=3;d=4;m=1;n=1;则语句(m=a>b)&&(n=c>d);执行后m=0,n=1是否正确?
ccb51 1年前 已收到1个回答 举报

g13f 种子

共回答了17个问题采纳率:94.1% 举报

楼上的错了,>优先级比=高,楼主的答案是正确的
&&连接而成的表达式执行的短路求值,只要前半部分表达式的值为0,后半部分就不求值了
m = a>b,a>b为假,比较表达式的值为0,0付给m,所以(m=a>b)整个复制表达式的值为0,&&的后半部分(n=c>d)不求值了,所以n的值没有变还是1

1年前

7
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.149 s. - webmaster@yulucn.com