| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 946 人关注过本帖
标题:为什么是3,2,1
只看楼主 加入收藏
qq895926777
Rank: 1
等 级:新手上路
帖 子:9
专家分:7
注 册:2010-5-12
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:10 
为什么是3,2,1
int c=1;printf("%d,%d,%d",c++,c++,c++);
结果为什么是3,2,1不懂请指教下!我是新手,太多的不懂!说说的越多越好!
2010-06-01 12:17
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:1 
从右到左
2010-06-01 12:21
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:1 
回复 楼主 qq895926777
请楼主把这道题的作者 和 解说帖出来和大家分享一下 ,/

我就是真命天子,顺我者生,逆我者死!
2010-06-01 12:25
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:2 
int c=1;printf("%d,%d,%d",(1)c++,(2)c++,(3)c++);这个是从右向左运算的,先运算的是(3),把c的值进行赋值后加1;在计算(2)赋值再加1,这个样就是到这输出3,2,1啦!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-01 12:27
n272367953
Rank: 2
等 级:论坛游民
帖 子:47
专家分:53
注 册:2010-4-14
收藏
得分:0 
  貌似还没见到过这种情况
2010-06-01 12:31
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 5楼 n272367953
题目 是不是楼主自己出的?

我见到过, 当时我写 OpenGL的一个小程序时, 函数参数用的就是这种格式
结果图画的 驴头不对马嘴 ,/


首先, 这种写法是要避免的
出题的作者不知道有没让您避免这种写法, 有没跟您说 为什么要避免这种写法?


[ 本帖最后由 BlueGuy 于 2010-6-1 12:40 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-06-01 12:35
实数虚数
Rank: 2
来 自:江西抚州
等 级:论坛游民
帖 子:27
专家分:37
注 册:2010-5-17
收藏
得分:5 
不过,这种写法的执行结果也得看编译系统的
2010-06-01 15:38
aiyinsitan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
收藏
得分:1 
顶3楼
 这个问题跟编译器有关,书上一般是从右到走
2010-06-01 17:50
gaoce227
Rank: 4
来 自:山东
等 级:业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
收藏
得分:0 
见过类似的帖子,真是自找麻烦。为什么要在prinf里加表达式呢?在外面多好啊
2010-06-01 18:03
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
int c=1;
printf("%d,%d,%d",c+2,c+1,c);

这样就好了, 再也不用问为什么

[ 本帖最后由 BlueGuy 于 2010-6-1 18:12 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-06-01 18:10
快速回复:为什么是3,2,1
数据加载中...
 
   



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

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