| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 373 人关注过本帖
标题:这个运算符搞不懂,求教中……
只看楼主 加入收藏
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:7 
这个运算符搞不懂,求教中……
    int a=1,b=2,c=3;
    printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c),a==(b==c));
F5后是3,1,0,0
只是 b==c 是如何进行赋值的?而 a==(b=c)这里应该是 c=3 赋值给 b 所以等价于 a==c 为何结果是0?
整个运算吧我搞混了,求教各位LS
搜索更多相关主题的帖子: 如何 
2011-07-23 14:30
为我留住记忆
Rank: 4
来 自:北京
等 级:业余侠客
帖 子:130
专家分:226
注 册:2011-4-30
收藏
得分:0 
==表示的是判断。。。结果只能是0或者是1即为false或者true不可能为别的答案

学习c是为了自己更强大。。。
2011-07-23 15:11
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:1 
因为a=b=c,a=b==c,a==(b=c),a==(b==c)这四个表达式的求值顺序是不确定的

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2011-07-23 15:18
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
回复 2楼 为我留住记忆
了解了,==即为判断真(1)假(0)
可是%=是什么运算符
2011-07-23 15:20
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
你们还是没说明白,到底a=b==c是如何运算得到1的
2011-07-23 15:22
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:1 
b==c 成立,值为1
1赋值于a,a为1
2011-07-23 15:25
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
已经都说求值顺序不确定了
你还要纠结于a=b==c为什么是1,a==(b=c)为什么是0有啥意义
a=b=c在a=b==c之前运行是一个结果,在a=b==c之后运行又是另外一个结果

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2011-07-23 15:27
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
哦,知道了,谢谢各位LS
2011-07-23 15:32
快速回复:这个运算符搞不懂,求教中……
数据加载中...
 
   



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

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