| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1402 人关注过本帖
标题:本想在验证一下输出函数时的执行顺序,结果发现了问题!
只看楼主 加入收藏
独孤剑魔
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2008-8-5
收藏
得分:0 
[bo][un]唐天[/un] 在 2008-10-11 16:31 的发言:[/bo]

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语句中是从右往左计算。

a=5这个我肯定知道!
我是在VC6.0是运行测试的,我的推测结果与那位老兄一样,按说两种输出都是4,4,2,2。不过VC6.0的确是3,3,2,2。
2008-10-11 19:47
独孤剑魔
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2008-8-5
收藏
得分:0 
[bo][un]qo520op[/un] 在 2008-10-11 19:36 的发言:[/bo]




为什么会是从右往左的??

在没有特殊条件下,的确是按从右往左顺序执行的。
2008-10-11 19:49
daniel3
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-9-29
收藏
得分:0 
怎么会是 3 3 2 2?
确实很奇怪啊
应该是 4 4 2 2 啊
2008-10-11 21:21
快速回复:本想在验证一下输出函数时的执行顺序,结果发现了问题!
数据加载中...
 
   



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

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