| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 802 人关注过本帖
标题:请人指点迷津。。。
只看楼主 加入收藏
Xjs
Rank: 1
来 自:开平
等 级:新手上路
帖 子:5
专家分:2
注 册:2010-12-9
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
请人指点迷津。。。
int a=0,b=0,c=0;
a=(b=c=5,++b,b+(c++));
printf("a=%d,b=%d,c=%d\n",a,b,c);
请问下输出结果为什么是  11  6  6  而不是12  6  6 呢 ?
请指教下逗号表达式多个表达式多次赋值后怎样取舍的?
搜索更多相关主题的帖子: 表达式 
2010-12-10 23:54
DreamSkyCC
Rank: 2
来 自:河北赵县
等 级:论坛游民
帖 子:40
专家分:58
注 册:2010-11-28
收藏
得分:2 
c++ 是先执行后++

努力总会有收获!
2010-12-11 09:22
ping123321
Rank: 2
等 级:论坛游民
帖 子:15
专家分:23
注 册:2010-11-3
收藏
得分:2 
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/000000000000.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
~~~~~~~~~~~~~~~~~
2010-12-11 09:32
star5578
Rank: 2
等 级:论坛游民
帖 子:39
专家分:11
注 册:2010-7-31
收藏
得分:0 
2楼说的对,顶
2010-12-11 10:04
langzilangyu
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2010-11-13
收藏
得分:2 
如int a,b,c=0;
a=c++;//这里a=0,c++是先把c的值赋给a,再执行c+1,执行完这句话,c=1;
b=++c;//这边先进行c+1,c=2;b就为2了。++c为先加1再赋值给b。
2010-12-11 13:13
guxinglei132
Rank: 2
等 级:论坛游民
帖 子:43
专家分:69
注 册:2010-10-19
收藏
得分:0 
你是笨蛋 不解释
2010-12-11 13:19
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:4 
a=(b=c=5,++b,b+(c++));
逗号表达式,b=c=5,此时b=5;c=5;
++b,此时b=6;
b+(c++);此时b=6;c=5;所以a=b+(c++)=11;
然后c=6;

经验积累中............
2010-12-11 13:22
快速回复:请人指点迷津。。。
数据加载中...
 
   



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

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