| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1327 人关注过本帖
标题:关于Q++和++Q的问题请教,
只看楼主 加入收藏
yeguohua55
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-8-29
收藏
 问题点数:0 回复次数:15 
关于Q++和++Q的问题请教,
程序是这样的:
#include "stdio.h"
main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
按书上说是:这个程序中,对P=(i++)+(i++)+(i++)应理解为三个i相加,故P值为15。然后i再自增1三次相当于加3故i的最后值为8。而对于q 的值则不然,q=(++j)+(++j)+(++j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8。结果为:15 24 8 8
可我编译后的结果为:15 22 8 8 ,这是为什么啊?22是怎么算出来的,
搜索更多相关主题的帖子: include 
2008-09-04 09:58
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
把那本书撕掉,烧掉,灰倒掉,然后去买C Primer Plus第六版。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-04 11:02
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
收藏
得分:0 
C Primer Plus 书写得不错,不过个人觉得有点罗嗦了,推荐一本可以和the c programming language 媲美的书 a book on c

without further ado, let’s get started
2008-09-04 11:32
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
很多运算都要依赖于实际机器的...
++运算就是其中一种

2008-09-04 12:19
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
LS说法有误,查到确实资料了再说这个话。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-04 12:34
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
[bo][un]StarWing83[/un] 在 2008-9-4 11:02 的发言:[/bo]

把那本书撕掉,烧掉,灰倒掉,然后去买C Primer Plus第六版。



注意环保...买废纸去

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-09-04 12:39
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
[bo][un]卧龙孔明[/un] 在 2008-9-4 12:39 的发言:[/bo]




注意环保...买废纸去


那怎么行?要确保自己和这种垃圾观点完全决裂才行嘛

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-04 13:02
Healben
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-9-5
收藏
得分:0 
++i是表示在使用变量i之前+1,i++是表示在使用i之后+1,顺序问题,
2008-09-05 01:06
awnucel
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2006-12-13
收藏
得分:0 
这里主要是因为涉及到了C语言顺序点的问题
分号是C语言的顺序点,而 ++ --的并不是,所以,不同的编译器首先决定运算的顺序会出现差别,由此导致最终结果的不确定性,所以,类似于这样的题目不要去做了,意义不大
2008-09-05 03:14
yeguohua55
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-8-29
收藏
得分:0 
虽然还是没有明白22是怎么来的,还是谢谢各位老大的建议
2008-09-05 10:12
快速回复:关于Q++和++Q的问题请教,
数据加载中...
 
   



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

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