过客2007 - 2007-6-3 21:22:00
我看到《C程序设计》里有一个例子:
a=12;
a/=a+a;
他的解释是:
a/=a+a
a/=24
最后的结果是: a=12
问题是:
a/=24
不是等于:a=a/24?
a=12/24,怎么会等于12哦??
还有:
a/=24可以转换成:a=a/24
a/=a+a难道转换之后不是:a=a/a+a?
/的优先级大于+,那不就是:a=12/12+12??
也就是:a=1+12??

不明白了。
风的唏嘘 - 2007-6-4 14:38:00
【回复“过客2007”的帖子】第一个问题应该是书中有错,第二个问题a/=a+a转换后应该是a=a/(a+a)因为/=是一个复合的赋值运算符,如果右边是一个表达式的话就相当于两边有括号
过客2007 - 2007-6-4 22:30:00
刚刚运行了,a=0
真是是书有问题~~
第二个问题,谢谢杰上啦~~
天下奇才 - 2007-6-8 0:11:00
结果应当是0
提醒一句,很多书的作者想当然的解释一些问题,其实根本就是错的。自己动手实验一下,自己相信基础理论,这比迷信书本更加有意义
© 2000 - 2026 Rising Corp. Ltd.