| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1823 人关注过本帖
标题:关于for循环
只看楼主 加入收藏
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:10 
关于for循环
该语句编译运行后,当我在编译器中输入1时,编译器就输出2,不明白为何会输出2?
当i=1时i的取值不在for循环范围内,既然不在范围内为何还要执行循环语句输出i=2?
#include"stdio.h"
#include"stdlib.h"
main(){
    int i;
    for(i=3;i<=6;i++){
        printf("%d\n",i);
        scanf("%d",&i);
    }

    system("pause");
}
图片附件: 游客没有浏览图片的权限,请 登录注册









搜索更多相关主题的帖子: include 编译器 
2017-04-25 21:42
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:1 
i++

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-25 21:51
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
收藏
得分:0 
回复 2楼 renkejun1942
可是i=1时不是不满足for的循环条件吗?i=1并不在3到6这个范围内,难道也要i++吗?
2017-04-25 21:56
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:1 
以下是引用b1592187525在2017-4-25 21:56:31的发言:

可是i=1时不是不满足for的循环条件吗?i=1并不在3到6这个范围内,难道也要i++吗?


你是如何得出i=1时不满足for的循环条件?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-25 22:42
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
收藏
得分:0 
回复 4楼 renkejun1942
因为i=1时不在3到6的范围内。
2017-04-25 22:47
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:1 
回复 5楼 b1592187525
你是用直觉跑的代码吧?

for( i = 3; i <= 6; ++i )
i = 3;是初始化i.
i <= 6 是逻辑判断
++i,是更新i的值


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-25 22:50
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
收藏
得分:0 
回复 6楼 renkejun1942
那这里i=1时该如何理解?
2017-04-25 23:00
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:1 
回复 7楼 b1592187525
i = 1不是你自己输入的吗
2017-04-25 23:49
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:2 
当你输入i的值的时候,比如i = 5
这个时候i++还没有执行,等到循环体执行完了才执行i++
所以,当你输入完i的值之后,再执行i++
输出的当然比你输入的要大1
2017-04-25 23:58
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1697
专家分:4305
注 册:2007-12-27
收藏
得分:7 
读书要仔细,两个分号中间的部分才是循环条件。

当然,除非有特定的目的,否则不建议在循环里修改循环变量。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-04-26 00:59
快速回复:关于for循环
数据加载中...
 
   



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

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