| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:有关自增,自减的问题。
只看楼主 加入收藏
黄love昏
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2012-8-12
收藏
 问题点数:0 回复次数:12 
有关自增,自减的问题。
#include<stdio.h>
void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++i)+(++i)+(++i);
printf("%d,%d,%d,%d",p,q,i,j);
}
我运算的答案是15,31,11,5
书上的答案是15,24,8,5
2012-08-12 18:30
jarryjsq
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:45
专家分:124
注 册:2011-7-11
收藏
得分:0 
以自己调试的程序为准,另外这种程序少写,自己写的时候头疼,别人看的时候也头疼。
2012-08-12 18:43
黄love昏
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2012-8-12
收藏
得分:0 
回复 2楼 jarryjsq
没有,我只是想弄懂这个自增自减
2012-08-12 18:58
丛中之歌
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-8-5
收藏
得分:0 
显然 q应该是 (++j) 注意是 用到j,不然你定义j有什么用
2012-08-12 19:03
黄love昏
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2012-8-12
收藏
得分:0 
回复 4楼 丛中之歌
对,这个是我写错了,但运行后还是不一样,
答案是15,22,8,8
2012-08-12 19:19
zhongmuzhong
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-3-12
收藏
得分:0 
这些是错误写法,属于未定义,结果在不同平台不一样,两个序列点之间对一个变量只能有一次修改,
收到的鲜花
  • pangding2012-08-12 23:17 送鲜花  3朵   附言:知道序列点概念的人不多。
2012-08-12 21:24
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
6楼专业。

楼主看的书不行,如果有条件换一本吧。
2012-08-12 23:16
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
每隔几天,就会有一个新手来问一些如果在工作中写出来会被开除的代码...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-08-13 10:49
风逸护焰
Rank: 2
等 级:论坛游民
帖 子:9
专家分:16
注 册:2012-8-13
收藏
得分:0 
不知道楼主懂了没有,小弟虽不是这方面的行家,不过关于i++和++i这问题倒是比较清楚;前者 先赋值,后自增;后者相反 先自增,后赋值。记住这点,问题就迎刃而解了,就拿上面的题为例:p=(i++)+(i++)+(i++);这属于刚说的前者,先赋值:p=5+5+5=15,再自增:i=5+1+1+1=8;q=(++j)+(++j)+(++j);属于后者,先自增:j=5+1+1+1=8,再赋值:q=8+8+8=24;所以最后i、j的值都是8。希望对楼主有用!
2012-08-13 15:09
imleijunhan
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-8-13
收藏
得分:0 
我测试了一下,15,24,8,8------------------9楼我认同!
2012-08-13 15:50
快速回复:有关自增,自减的问题。
数据加载中...
 
   



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

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