| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 556 人关注过本帖
标题:搞不明白的结果,请教下
取消只看楼主 加入收藏
andy0622
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-7-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
搞不明白的结果,请教下
#include <stdio.h>

int main(void)
{
   int x,y=55;
   for(x=1;y<=75;y=(x++*5)+50)

    printf("%10d %10d\n",x,y);

   return 0;
}

运行结果,x++时:
1  55
2  55
3  60
4  65
5  70
6  75
++x时:
1  55
2  60
3  65
4  70
5  75
疑惑是++x不是使用前,x+1的吗?  x++即时使用后+1,当x为2时也应该为60啊。


搜索更多相关主题的帖子: 结果 
2010-07-29 16:51
andy0622
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-7-21
收藏
得分:0 
以下是引用a151937404在2010-7-29 21:04:11的发言:

举个例子说:for(x=1;y<=75;y=(x++*5)+50),它的执行过程就是这样的:
1,使i=1。然后判断i是否小于75 。若成立就执行for所带的循环体,不成立就跳出循环执行后面的语句。
2,若在1中执行了循环体,然后就执行i++;再判断i<10是否成立,成立就执行循环体,否则跳出。
就这样一直执行到跳出循环体。
 使用x++时,先初始化x=1,再判断y是否小于75,根据初始化信息y=55,结果为真,执行循环体,打印  1  55,再执行
y=(x++*5)+50,x++是先使用x的值再使x自增1,完成后x=2,y=55。
  使用++x时,先初始化x=1,再判断y是否小于75,根据初始化信息y=55,结果为真,执行循环体,打印  1  55,再执行
y=(++x*5)+50,++x是先使x自增1,再使用x的值,完成后x=2,y=60。
谢谢指点,当时的迷惑就是y=(x++*5)+50,这句初始化时,Y值计算的时候看来无论++前置还是后置都没有意义的。
是不是可以这样理解?
2010-07-30 09:27
快速回复:搞不明白的结果,请教下
数据加载中...
 
   



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

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