| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 805 人关注过本帖
标题:[求助]关于printf的问题
只看楼主 加入收藏
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
 问题点数:0 回复次数:10 
[求助]关于printf的问题
一个程序:如
#include<stdio.h>
main()
{
int n;
n=1;
printf("%d%d%d",n,n++,++n);


}
输出结果为322
执行顺序是从右至左
请求解释?请求从printf函数的运行原理的角度给出解释.
谢谢
搜索更多相关主题的帖子: printf 
2007-10-23 10:34
Cy_Chance
Rank: 1
等 级:新手上路
帖 子:46
专家分:1
注 册:2007-10-15
收藏
得分:0 
输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右, 也可从右到左。 在TC中是 自右向左边!
参考《C语言教程》(资料收集:beck Copyright 2002 www.vcok.com, All Rights Reserved )
2007-10-23 11:15
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 

仅仅是编译器的关系啊


不好意思我只是想明白真相
2007-10-23 11:20
xuanzilie
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-12
收藏
得分:0 
明白了

MM: 给你讲一个小笑话吧
我: 多小,几KB的
我的blog:http://liujinxuan.blog./blog/edit/
2007-10-23 11:29
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
一般情况是从右往左.

倚天照海花无数,流水高山心自知。
2007-10-23 11:32
piggy
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-10-9
收藏
得分:0 
怎么我编译后结果是222啊

想飞的piggy
2007-10-23 18:13
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
以下是引用piggy在2007-10-23 18:13:03的发言:
怎么我编译后结果是222啊

老兄,你的编译器到了保修期了没?!


Repeat  Life=Study;Until (death);
2007-10-23 18:16
lxm520910
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2007-10-3
收藏
得分:0 
我感觉这的题目都是数字游戏,没多大实际意义的。机器能做的事,人一般都能做。你先自己想想会有什么结果,在看编译出来的结果。实在不行,就往结果上套
2007-10-23 22:40
rayxiang
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-10-22
收藏
得分:0 

应该是自右向左的,


...........没 有 音 乐 就 没 法 活............ ...........不 会C 语 言 我 可 以 问...........
2007-10-23 23:19
aoaoaoao
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-5-14
收藏
得分:0 

对于c 的调用约定,就是从右往左将参数压入堆栈,

只不过不同的编译器 对n++这个参数进行自增运算的位置不同,

例如: 说打印 222 的是因为编译器是将所有的参数压入堆栈后才 执行了 后++运算.
而打印 322 的是因为编译器 自右往左 将第2个参数压入堆栈后,在将第3个参数压入前执行了后++运算,这影响了 第3个参数...使它变成了3.

2007-10-24 00:18
快速回复:[求助]关于printf的问题
数据加载中...
 
   



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

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