| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:瞧一瞧看一看,逗号表达式的问题
只看楼主 加入收藏
genius023
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-7-7
收藏
 问题点数:0 回复次数:3 
瞧一瞧看一看,逗号表达式的问题
main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
为什么结果是y=6,x=6??
不是说y等于整个逗号表达式的值,也就是表达式2的值吗,那y应该等于10啊?
搜索更多相关主题的帖子: 表达 逗号 
2007-08-04 09:23
medicihophy
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-7-28
收藏
得分:0 
你真逗!
y=(x=a+b),(b+c);
其实是y=(x=a+b);
(b+c);
然后整个表达式的值为(b+c)而已
举个例子:
int a=2,b=4,c=6,x,y;还是你的式子
我无法想想这是在干嘛?
难道是这样?
6,x,y运算结果为y,
然后c=y,
4,c运算为c
b=c,
2,b运算为b
结果a=b,
呵呵,这就搞笑了!

2007-08-04 09:35
genius023
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-7-7
收藏
得分:0 
本例中,y等于整个逗号表达式的值,也就是表达式2的值,x是第一个表达式的值。我有错吗??!!就是逗号.

你那个幽默的例子是为了说明啥哩?
2007-08-04 09:56
medicihophy
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-7-28
收藏
得分:0 
y=(x=(a+b),(b+c))
这才是你说的结果

2007-08-04 09:58
快速回复:瞧一瞧看一看,逗号表达式的问题
数据加载中...
 
   



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

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