| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1402 人关注过本帖
标题:本想在验证一下输出函数时的执行顺序,结果发现了问题!
只看楼主 加入收藏
独孤剑魔
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2008-8-5
收藏
 问题点数:0 回复次数:12 
本想在验证一下输出函数时的执行顺序,结果发现了问题!
int a=1;
printf("a=%d a=%d a=%d a=%d\n" ,a++,++a,a++,++a); 输出结果分别是: 3,3,2,2;
最后a的结果是5,无可厚非。

同样:
int a=1;
cout<<"a="<<a++<<" a="<<++a<<" a="<<a++<<" a="<<++a<<endl;输出结果是:4,4,2,2;
最后a的结果同样是5,挺有意思的,为什么printf会这样,难道是一个缺陷?或者是我懂得少不知道里面有其他含义。望知道的朋友讲讲或者大家一起讨论讨论,就当娱乐了。
搜索更多相关主题的帖子: 顺序 结果 输出 验证 
2008-10-11 14:20
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
显然是从右往左做的。。。

2008-10-11 14:29
独孤剑魔
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2008-8-5
收藏
得分:0 
[bo][un]blueboy82006[/un] 在 2008-10-11 14:29 的发言:[/bo]

显然是从右往左做的。。。

,不是说这个啦,你看看输出结果就知道我问的事情了。
2008-10-11 14:30
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
关键区别在于本语句中 a++ 是否生效。。。。

2008-10-11 14:32
独孤剑魔
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2008-8-5
收藏
得分:0 
肯定是生效的,不然a怎么会成为5呢?
2008-10-11 14:38
gongqivictor
Rank: 1
来 自:武汉科大
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-9-16
收藏
得分:0 
晕哦,我的编译结果是
=============
a=4 a=5 a=2 a=5
请按任意键继续. . .
=============
两个程序都一样,我用的vc2008
2008-10-11 16:15
唐天
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-9-18
收藏
得分:0 
哈哈
int a=1;
printf("a=%d a=%d a=%d a=%d\n" ,a++,++a,a++,++a); 输出结果分别是: 3,3,2,2;
最后的结果应该是5吧,请注意a++,++a的区别,并且一般在printf语句中是从右往左计算。
2008-10-11 16:31
gongqivictor
Rank: 1
来 自:武汉科大
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-9-16
收藏
得分:0 
我用Tc3.0编出来的是 4 4 2 2
由此只有一个结论,编译器的问题~
2008-10-11 16:33
qo520op
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-9-11
收藏
得分:0 
a=4 a=5 a=2 a=5
gcc 编译。
2008-10-11 17:24
qo520op
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-9-11
收藏
得分:0 
[bo][un]blueboy82006[/un] 在 2008-10-11 14:29 的发言:[/bo]

显然是从右往左做的。。。



为什么会是从右往左的??
2008-10-11 19:36
快速回复:本想在验证一下输出函数时的执行顺序,结果发现了问题!
数据加载中...
 
   



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

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