yhkn.net
当前位置:首页 >> 若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值... >>

若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值...

限制性n%2=5%2=1 然后执行 x%=1 x=1%1=0 于是选D。

浮点型赋值给整数型,值会被取整,小数部分被怱略。 上题n=3。

x%=(n%=2) 先计算括号里的,(n%=2),即 n = n % 2,计算结果, n 为 1。。 然后 括号里面的用 n 去替换,也就是 x%=1。。 也就是 x = x % 1。。 12 对 1 求余,结果就是0了。。

x=2*(N+Y(5+1)) =2*(3+Y(5+1)) =2*(3+((3+1)*5+1) 这里注意,n没有被括号,所以乘法优先 =2*(3+20+1) =48

先运算n%2,由于n=5,故n%2的值为1(%表示取模,即余数) 然后运算a = a%1,故a最后的值为0

这是不会出现的。 因为3*x的值是3.6,赋值给int就是3。

+=和++(后缀)的运算优先级不同,+=的运算优先级要高于++(后缀),所以,在运算的时候先运算+=然后运算++,所以该式应该是x+=n,x=10;然后n++,n=6(ps:++(前缀)的优先级要高于+=)。 1.这个表达式等价于x=x+n++,因为他们初始值x=5,n=5,...

m+=m*=n-=m/=m; 上式按执行顺序可以写成: m=m/m; //m=2/2=1 n=n-m; //n=5-1=4 m=m*n; //m=1*4=4 m=m+m; //m=4+4=8 故最后m的值为8 n的值为4

x%=(y%=2)这个表达式的值就是x计算后存放的值 x=15;y=5;printf("%d",x%=(y%=2)); 相当于: x=5;y=5; y%=2; x%=y;// y%=2即求y除以2的余数为1,x%=y;即求x除以1的余数是0 所以结果是0

先y%=2(即y = 15%2)后 y=1 再x%=1(即x = 15%1)最后 x=0 打印出0

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com