若x和n都是int型变量,x=20,n=17,则表达式x%=(n%=3)后x的值为?
1个回答
展开全部
在C语言中,“%”是取模运算符。首先,由于“%”运算符的优先级比“=”运算符低,所以表达式“x %= (n %= 3)”等价于“x %= n % 3”。根据取模运算的定义,对于任意两个整数a和b,有a%b=a-b*floor(a/b),其中floor(a/b)表示不超过a/b的最大整数。
所以,在表达式“x %= n % 3”中,首先会执行“n %= 3”,即将n的值更新为n % 3,也就是17 % 3=2。然后,再执行“x %= n”,即将x的值更新为x % n,也就是20 % 2=0。因此,在执行完表达式“x %= (n %= 3)”后,x的值为0。
所以,在表达式“x %= n % 3”中,首先会执行“n %= 3”,即将n的值更新为n % 3,也就是17 % 3=2。然后,再执行“x %= n”,即将x的值更新为x % n,也就是20 % 2=0。因此,在执行完表达式“x %= (n %= 3)”后,x的值为0。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询