若有以下定义,则能使值为3的表达式是 int k=7,x=12;

来源:百度知道 编辑:UC知道 时间:2024/07/04 18:00:54
A、x%=(k%=5) B、x%=(k-k%5) C、x%=k-k%5 D、(x%=k)-(k%=5)

答案为D;
解释:先计算x%=k,即x=x%k =〉x=12%7=5;
再计算k%=5,即k=k%5 =〉k=7%5 =2;
两者相减为3;

A的结果为0;先计算k%=5,即k=k%5 =〉k=7%5=2;
在计算x%=k,即x=x%k =〉x=12%2=0;
B的结果为2;先计算k-k%5 “%”的优先级比“-”的优先级
高,所以结果为5;
再进行x%=5,结果为2;
C的结果为2,执行过程和B相同。

答案为D
A的结果为2
先计算小括号里边的(k%=5)即k=k%5,即7=7%5=2(求余)注意:要与"/"区分开; 然后是x%=2,即x=x%2,12=12%2=0;
BC的结果均为2
B,C中涉及到优先级的问题,和小学学的数学一样的:在算术运算符中”%“优先级比“-”优先级高
B式 (k-k%5)=5;x%=5等价于 x=x%5=2;
C式 k-k%5=5;x%=5即x=2;
D的结果为3
(x%=k)的结果为5;(k%=5)的结果为2;所以D最后的结果为(x%=k)-(k%=5)=3

x%=y(x=x%y);从右至左;
答案:D

A:X=X%(K=K%5) 结果:6
B:X=X%(K-K%5) 结果:0
C:X=X%(K-K%5) 结果:0
D:(X=X%K)-(K=K%5) 结果:3

D