| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2652 人关注过本帖
标题:简单的小问题,涉及到使用printf输出表列中的求值顺序问题
只看楼主 加入收藏
wuyuqingzhu
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-5-24
收藏
得分:0 

7楼的,你的是错的吧?我按照你的那所写的在win-tc上运行了一下,答案跟你的完全不同;真是的,我还反复揣摩了好长时间! 我的分析是这样的:
大家不妨试试这样理解, 首先只输出++i; (结果为9)---->然后再输出++i和--i;(结果为8,7)--->
然后再输出++i,--i,i--;(结果为7,6,8)----->然后再输出++i,--i,i--,i++;(结果为8,7,9,8)--->
然后全部输出;(结果为7,6,8,7,-8);
分析: 首先肯定7楼所说的"在printf里执行的顺序是从右到左,"而运算的顺序是从右到左;

我们来运算{ 首先 -i--是-8,因为i++是先输出后,再自-的;

接着 到了i++ 是7,因为-i--输出后自减了1,而根据规则i++格式是先输后算
接着 到了i-- 是8,根据规则可以知道,输出的是上一步运算所得到的值
接着 到了--i,是6,因为--i是先计算,后输出的;
最后 到了++i,s是7,根据规则可以知道,是先自加的.
}
我是个新手 (我是把运行结果一步一步写在纸上分析的!)

2006-11-29 16:54
快速回复:简单的小问题,涉及到使用printf输出表列中的求值顺序问题
数据加载中...
 
   



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

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