搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 瞧一瞧看一看,逗号表达式的问题
标题:
瞧一瞧看一看,逗号表达式的问题
只看楼主
genius023
等 级:
新手上路
帖 子: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
等 级:
新手上路
威 望:
1
帖 子:102
专家分:0
注 册:2007-7-28
第
2
楼
得分: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
等 级:
新手上路
帖 子:14
专家分:0
注 册:2007-7-7
第
3
楼
得分:0
本例中,y等于整个逗号表达式的值,也就是表达式2的值,x是第一个表达式的值。我有错吗??!!就是逗号.
你那个幽默的例子是为了说明啥哩?
2007-08-04 09:56
medicihophy
等 级:
新手上路
威 望:
1
帖 子:102
专家分:0
注 册:2007-7-28
第
4
楼
得分:0
y=(x=(a+b),(b+c))
这才是你说的结果
2007-08-04 09:58
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-160261-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.219779 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved