| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 794 人关注过本帖
标题:一些表达式的值
只看楼主 加入收藏
神秘失恋
Rank: 1
等 级:新手上路
帖 子:663
专家分:0
注 册:2007-1-6
收藏
得分:0 
以下是引用linsq在2007-1-18 22:38:02的发言:
a=12
a%=(5%=2) ->a%=1->a=0
a+=a-=a*=a ->a+(a-(a=a*a)) ?不知道对不?
a/=a+a ->a=2 ?
请分析一下,谢了


上帝之手.........
2007-01-19 00:47
兰宇
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-1-19
收藏
得分:0 
以下是引用linsq在2007-1-18 22:38:02的发言:
a=12
a%=(5%=2)
a+=a-=a*=a
a/=a+a
请分析一下,谢了

结果当然是三个0了呀,
这个主要是看运算符的优先级,

你把优先级好好看看,这题就会了,

2007-01-19 06:35
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
a%=(5%=2)
红字部分没问题吗?

2007-01-19 08:51
linsq
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-11-20
收藏
得分:0 
以下是引用dragonfly在2007-1-19 8:51:09的发言:
a%=(5%=2)
红字部分没问题吗?
没有啊,就是5对2求模。

2007-01-19 09:14
AlwaysSLH
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-11-29
收藏
得分:0 
0 0 0

2007-01-19 10:48
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
以下是引用linsq在2007-1-19 9:14:12的发言:
没有啊,就是5对2求模。

那5%=2里的等号干什么用?


2007-01-19 11:44
penggf
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-1-19
收藏
得分:0 
a=12
(1)a%=(5%=2)
(2)a+=a-=a*=a
(3)a/=a+a

(1)既是5对2取模直接写为:a%=(5%2),最后结果:a=12。
(2)+=、-=、*=都具有右结合性,分开等价于:
a=a*a; /* a=144*/
a=a-a; /* a=0 */
a=a+a; /*结果为:a=0 */
另外:同理可以得“a+=a*=a ”的结果是288。
(3)+的优先级高于/=,原式等价于a=a/(a+a),结果是0。
2007-01-19 12:00
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
晕哟
看看书嘛@
~~~~~~~~~

~~我的明天我知道~~
2007-01-19 14:18
jianchinuli
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-1-19
收藏
得分:0 

三个都是0!!!
在win-tc中的验证代码如下:
main()
{
int a=12,b=5;
a=a%=(b%=2);
printf("%d",a);
getch();
a=12;
a=a+=a-=a*=a;
printf("%d",a);
getch();
a=12;
a=a/=a+a;
printf("%d",a);
getch();
}

2007-01-19 16:13
快速回复:一些表达式的值
数据加载中...
 
   



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

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