|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求教++i与i++
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1221
人关注过本帖
标题:
求教++i与i++
只看楼主
加入收藏
有容就大
来 自:东土大唐
等 级:
版主
威 望:
74
帖 子:9048
专家分:14309
注 册:2011-11-11
结帖率:
99.34%
楼主
收藏
已结贴
√
问题点数:20 回复次数:20
求教++i与i++
如果int i=3,j,k,n;
printf("i=%d k=%d j=%d n=%d i=%d \n",i,(++i)+ (i++)+(++i),(++i)+(++i)+(i++),(++i)+(i++)+(i++),++i);
则结果是 i=9 k=25 j=21 n=15 i=4 谁能解释下?
2011-11-14 20:51
举报帖子
使用道具
赠送鲜花
cnfarer
等 级:
版主
威 望:
179
帖 子:3330
专家分:21157
注 册:2010-1-19
第
2
楼
收藏
得分:2
这个结果,只是特定于某个编译器,不同的编译器,输出结果可能是不一样的!!!
★★★★★
为人民服务
★★★★★
2011-11-14 20:57
举报帖子
使用道具
赠送鲜花
cnfarer
等 级:
版主
威 望:
179
帖 子:3330
专家分:21157
注 册:2010-1-19
第
3
楼
收藏
得分:0
我用minGW编译执行后结果为i=13 k=34 j=27 n=15 i=13
★★★★★
为人民服务
★★★★★
2011-11-14 20:58
举报帖子
使用道具
赠送鲜花
有容就大
来 自:东土大唐
等 级:
版主
威 望:
74
帖 子:9048
专家分:14309
注 册:2011-11-11
第
4
楼
收藏
得分:0
我是vc6.0运行的结果。
梅尚程荀
马谭杨奚
2011-11-14 21:01
举报帖子
使用道具
赠送鲜花
有容就大
来 自:东土大唐
等 级:
版主
威 望:
74
帖 子:9048
专家分:14309
注 册:2011-11-11
第
5
楼
收藏
得分:0
以下是引用
cnfarer
在2011-11-14 20:58:51的发言:
我用minGW编译执行后结果为i=13 k=34 j=27 n=15 i=13
如果这样的话 貌似这种方式的程序 只是有害无益?
梅尚程荀
马谭杨奚
2011-11-14 21:10
举报帖子
使用道具
赠送鲜花
cnfarer
等 级:
版主
威 望:
179
帖 子:3330
专家分:21157
注 册:2010-1-19
第
6
楼
收藏
得分:0
编程中一定要避免这样的表达!
★★★★★
为人民服务
★★★★★
2011-11-14 21:18
举报帖子
使用道具
赠送鲜花
我菜119
等 级:
青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
第
7
楼
收藏
得分:2
这个含有i++与++i表达式的结果由编译器决定,但是在调用printf这个函数的时候其参数是由右向左的顺序压栈的,这一点一定要清楚!
愿用余生致力编程
2011-11-14 21:53
举报帖子
使用道具
赠送鲜花
我菜119
等 级:
青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
第
8
楼
收藏
得分:0
回复 3楼 cnfarer
你那个最后的i怎么还能输出个13,求解释啊?????呵呵!再怎么整,那也不应该是13,难道不是4吗?你用的是什么编译器?呵呵!
愿用余生致力编程
2011-11-14 21:56
举报帖子
使用道具
赠送鲜花
yu376021
等 级:
论坛游民
帖 子:41
专家分:68
注 册:2011-11-11
第
9
楼
收藏
得分:2
是13没错啊,前一个++i得到的i值会自动赋予第二个i的值,再加再赋予,所以最后的i=13
2011-11-14 22:02
举报帖子
使用道具
赠送鲜花
我菜119
等 级:
青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
第
10
楼
收藏
得分:0
回复 9楼 yu376021
c语言中的函数压栈都是按照__cdecl方式压栈的,也就是从右向左的顺序,我不知道你们用的是什么编译器!
这个可能是编译器不
通
吧!
愿用余生致力编程
2011-11-14 22:58
举报帖子
使用道具
赠送鲜花
21
1/3页
1
2
3
快速回复:
求教++i与i++
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.039584 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved