| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 570 人关注过本帖
标题:赋值运算这块不是很理解,很模糊???
只看楼主 加入收藏
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
结帖率:80%
收藏
 问题点数:0 回复次数:10 
赋值运算这块不是很理解,很模糊???
#include <stdio.h>
void main()
{
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));
}
结果为什么是3,0,0,0呢?不是很理解?
搜索更多相关主题的帖子: void include 
2012-03-05 20:03
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
a==(b==c) b 等于 c 吗? 不等于 b==c 这个表达式的值是0, a == 0 吗 不等于 所以这个表达式的值也是0 那么a==(b==c) 整个表达式的值就是0.
a = b = c;是将c的值赋给a b,输出时匹配的是a的值。

梅尚程荀
马谭杨奚







                                                       
2012-03-05 21:01
庄飞
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-1-15
收藏
得分:0 
3的过程:a=b=c,"="是赋值号,求解的过程是把c的值给b,此时b=3,再把b值给a,所以a=3;
后面的三种情况都是涉及“等号”,“==”的意思是相等,由于a,b,c的值明显的不相等,所以其结果都是为0;
2012-03-05 21:08
qq0800
Rank: 2
等 级:论坛游民
帖 子:6
专家分:14
注 册:2012-2-16
收藏
得分:0 
=赋值为从右向左的结合律;
==为逻辑运算符,从左往右结合律;
另外,我想说的是,这个题目是不是本身有问题:对于不同的编译器,可能会有不同的结果。
在函数printf中,第一个参数a=b=c,此时abc的值都是3,那执行后面的参数调用值的时候是取3,还是取初始化的时候的值,不同的编译器有不同的答案(第三个参数有关系)。
2012-03-05 22:58
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
收藏
得分:0 
回复 2楼 有容就大
如果c=3,而赋值语句b=c后,c的值还可以还是3吗?
2012-03-06 15:43
icysky
Rank: 5Rank: 5
来 自:心灵世界
等 级:职业侠客
威 望:1
帖 子:172
专家分:399
注 册:2011-5-17
收藏
得分:0 
回复 5楼 左手拉拉
b=c  为b赋值 改变的是b    不管c的事

不管怎么走、总有一个终点...
2012-03-06 15:54
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 5楼 左手拉拉
没有改变c值的语句出现,c的值不变。当c在 = 左边时就需要注意了,在右边一般不会改变。

梅尚程荀
马谭杨奚







                                                       
2012-03-06 16:27
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
上面都说了,我飘过。
2012-03-06 17:54
ilovebaishi
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2011-8-7
收藏
得分:0 
乐了
2012-03-06 19:19
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
收藏
得分:0 
回复 2楼 有容就大
不是吧,a=b=c,后,abc的值都是3了啊,所以b==c应该是成立的啊,所以b==c的值应该是1啊,然后再赋给a,那么a=1啊,不是0啊?
2012-03-06 20:26
快速回复:赋值运算这块不是很理解,很模糊???
数据加载中...
 
   



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

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