c语言中表达式(x=9,x%=x+3)的值是?这里%是什么意思?

看不懂怎么运算的。。

(,)是逗号表达式,里面的表达式从左往右顺序求值,最后一个表达式的值就是整个表达式的值,%=是个双目运算符,首先x=9.然后x+3,最后x=x%12,最后的值为9。追问

不懂……

追答

哪里不懂?

追问

X=9之后肿么算。。

追答

先算x+3,值为12,之后是x%=12(相当于x=x%12,它的值为9);
Y%=X的意思是;Y=Y%X;也就是Y对X取余;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-23
模运算
“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。虽然很多数论教材上对模运算都有一定的介绍,但多数都是以纯理论为主,对于模运算在程序设计中的应用涉及不多。

基本性质
(1)若p|(a-b),则a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)
(2)(a % p)=(b % p)意味a≡b (% p)
(3)对称性:a≡b (% p)等价于b≡a (% p)
(4)传递性:若a≡b (% p)且b≡c (% p) ,则a≡c (% p)
运算规则
模运算与基本四则运算有些相似,但是除法例外。其规则如下:
(a + b) % p = (a % p + b % p) % p (1)
(a - b) % p = (a % p - b % p) % p (2)
(a * b) % p = (a % p * b % p) % p (3)
(a^b) % p = ((a % p)^b) % p (4)
结合律:
((a+b) % p + c) % p = (a + (b+c) % p) % p (5)
((a*b) % p * c)% p = (a * (b*c) % p) % p (6)
交换律:
(a + b) % p = (b+a) % p (7)
(a * b) % p = (b * a) % p (8)
分配律:
((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (9)
重要定理:
若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);(10)
若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);(11)
若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),
(a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p); (12)
有点多,麻烦一下啦
第2个回答  2014-05-18
一般情况下%表示取余数
第3个回答  2014-05-18
%是取余,
第4个回答  2014-05-18
求余 9 =9%(9+3)= 9