| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 737 人关注过本帖
标题:[求助]郁闷了,想不通,给我讲一下下面这个的执行步骤
取消只看楼主 加入收藏
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
 问题点数:0 回复次数:4 
[求助]郁闷了,想不通,给我讲一下下面这个的执行步骤
#include "stdio.h"
void main ( )
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("p=%d q=%d i=%d j=%d",p,q,i,j);
}

请兄弟们给我讲一下P,Q的详细执行步骤
我自己推算的结果是P=18,Q=21,i=8,j=8
而运行后是P=15,Q=24,i=8,j=8

我想了半天郁闷了,帮我讲讲哈
万分感谢
搜索更多相关主题的帖子: include 
2006-08-27 08:39
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
#include "stdio.h"
void main ( )
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("p=%d q=%d i=%d j=%d",p,q,i,j);
}

还是不太明白呀,我太懂了
p=(i++)+(i++)+(i++);
我是这样理解的
i++ i++ i++
5 + 6 + 7 这就是他们的结果,是18
i值 6 7 8
我的意思是说执行I++时当前值是I,而后面执行I++时I是已经+1的I了

看你上面的解释好像是先取出I的当前值进行+运算负值给P后才+3次1


我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-08-27 11:16
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
谁给我讲明白点呀
讲讲
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
具体执行步骤
越详细越好


我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-08-27 11:17
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
q=(++j)+(++j)+(++j);
那这句为什么等于24
++J 是先+1再运算
那应该是6+7+8=21呀
怎么是24?

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-08-27 12:17
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
谢谢楼上,

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-08-27 20:57
快速回复:[求助]郁闷了,想不通,给我讲一下下面这个的执行步骤
数据加载中...
 
   



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

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