标题:b=20我还搞的懂,a=15是怎么回事??
只看楼主
xy3zhong
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2004-12-6
 问题点数:0 回复次数:4 
b=20我还搞的懂,a=15是怎么回事??

main() { int a=5,b=5; a%=b+=a+=(a+b); printf("a=%d,b=%d",a,b);}

结果是:a=15,b=20

b=20我还搞的懂,a=15是怎么回事??我就不明白了!!?%号不是求余吗??

2004-12-06 11:30
ysfabm
Rank: 1
等 级:新手上路
威 望:1
帖 子:274
专家分:0
注 册:2004-11-9
得分:0 

晕!

a%=b+=a+=(a+b) 这个表达式应该先算(a+b)结果为10,进行a+=(a+b)这一步时a的值为15了,后来的计算只是用了刚才a的值,并没有再赋给a其它的值。所以结果是:a=15,b=20。

有时间可以多看看C的基本数据类型和运算这一章节。


精诚所至,
       金石为开!
      PLM技术社区: [url=http://www.]www.[/url] 最专业的PLM技术讨论社区。
2004-12-06 11:50
xy3zhong
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2004-12-6
得分:0 

呵呵~

那a%在这里岂不是没用??根本没起什么作用啊!

2004-12-06 12:06
ysfabm
Rank: 1
等 级:新手上路
威 望:1
帖 子:274
专家分:0
注 册:2004-11-9
得分:0 

不好意思,是我没有仔细看,不过如果a=15%20的话,a的值就是15呀!


精诚所至,
       金石为开!
      PLM技术社区: [url=http://www.]www.[/url] 最专业的PLM技术讨论社区。
2004-12-06 14:01
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 

你在什么地方看到的这样的代码???

是不是太无聊了!!是不是我们为了证明知道了加减乘除的先后顺序,要把所有的可以简化的东西都连一起算!!!

这样的东西,不用一个近的计较,知道就好!

还有很多东西要学!


差点把你忘了...
2004-12-06 14:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-8901-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.598568 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved