已知:int x=1,y=2,z=0;则执行:z=x>y?10:20,z的值为?

快快啊!
2025-03-04 16:22:23
推荐回答(2个)
回答(1):

z=x>y为给z赋值语句,表现为右结合性,先判断x>y是否为真,显然1<2所以z=0。而z原值也为0,所以该表达式整体为真,执行后z的值为10

回答(2):

z=9,x,y不变,因为:(y = 2)> (x = 1),所以:z = (10+x,10-x) = (11,9),又因为:逗号表达式取最右端值,所以:z = 9;