首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么while和for循环会有不同的结果

为什么while和for循环会有不同的结果
EN

Stack Overflow用户
提问于 2011-04-11 10:57:12
回答 4查看 354关注 0票数 2

我刚刚进入编程世界,正在学习所有关于循环的知识。我只是学习了for和while循环,但不明白为什么返回不同的结果。有没有人能用外行的话解释一下逻辑。

循环代码的/* */

代码语言:javascript
复制
$counter = 0;
$start = 1;
$end = 11;

for($start;$start<$end;start++) {
$counter=$counter+1;
print $counter;
}

我得到的结果是1,2,3,4,5,6,7,8,9,10

/* while循环代码*/

代码语言:javascript
复制
$start=0;
$end=11;

while($start<end) {
$start=$start+1;
print $start;
}

我得到的结果是1,2,3,4,5,6,7,8,9,10,11

为什么while循环返回从1到11的结果,而for循环返回从1到10的结果

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-11 10:59:35

for情况下,$start从1开始,但在while情况下,$start从0开始。

for上工作-

代码语言:javascript
复制
 iteration    $start      $start<$end     counter   print   start++        
    1           1            1<11           1         1        2
    2           2            2<11           2         2        3
    3           3            3<11           3         3        4
    4           4            4<11           4         4        5
    5           5            5<11           5         5        6
    6           6            6<11           6         6        7
    7           7            7<11           7         7        8
    8           8            8<11           8         8        9
    9           9            9<11           9         9        10
   10           10          10<11          10         10       11
   11           11          11<11 
                          // (false) break

类似地,在while循环上工作。这是一个纸笔练习。

票数 0
EN

Stack Overflow用户

发布于 2011-04-11 11:04:37

for循环中的增量在第一个循环之后执行。

试试这个:

代码语言:javascript
复制
$start=1;
$end=11;

while($start<end) {
    print $start;
    $start=$start+1;
}
票数 2
EN

Stack Overflow用户

发布于 2011-04-11 11:01:23

两个计数器未初始化为相同的值,请使用

代码语言:javascript
复制
$start = 1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5616363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档