掌芝士 发表于 2020-6-20 10:24:41

for

这个i++是先用i去判断i<3 然后再进行i的自加吗

猪猪虾 发表于 2020-6-20 10:32:00

本帖最后由 猪猪虾 于 2020-6-20 10:33 编辑

例如
for(i = 1;i <5;i++)
{
    printf(i);
}


第一次进入循环时,先执行的是i = 1,判断i是否小于5,然后最先打印出来的是i = 1;之后就开始i++,也就是i = i+1,然后判断i是否小于5,满足条件,执行循环体里面的语句,所以下一次打印的就是2,依次累加

掌芝士 发表于 2020-6-20 10:33:31

猪猪虾 发表于 2020-6-20 10:32
第一次进入循环时,先执行的是i = 1,然后最先打印出来的是i = 1;之后就开始i++,也就是i = i+1,,所以下 ...

我就是弄不清那个i<5是用什么时候的i进行判断,是用自加前还是自加后的

猪猪虾 发表于 2020-6-20 10:35:34

掌芝士 发表于 2020-6-20 10:33
我就是弄不清那个i

从第二次循环开始,用加了之后的i去判断,第一次循环,用的就是i的初始值去判断,例如我刚才的例子,第一循环就用i = 1去判断即可

掌芝士 发表于 2020-6-20 10:39:30

猪猪虾 发表于 2020-6-20 10:35
从第二次循环开始,用加了之后的i去判断,第一次循环,用的就是i的初始值去判断,例如我刚才的例子,第一 ...

那这里i++和++i效果就一样的吗
是不是只有在同一个语句里面这两种自加才有区别

猪猪虾 发表于 2020-6-20 10:48:45

掌芝士 发表于 2020-6-20 10:39
那这里i++和++i效果就一样的吗
是不是只有在同一个语句里面这两种自加才有区别

在for 循环里面,这两个没有区别,我写了一个例子,你运行看一下#include <stdio.h>

int main()
{
    int i ,a = 4, b=4;

    for (i= 2;i <=4;i++)
    {
            printf("i++ :%d \n",i);
           
        }
        printf("\n");
        for (i= 2;i <=4;++i)
    {
            printf("++i :%d \n",i);
        }
       
   
    return 0;
}

Pythonnewers 发表于 2020-6-20 10:51:37

你这是在迫害我的脖子吗..
{:10_247:}

掌芝士 发表于 2020-6-20 10:52:35

Pythonnewers 发表于 2020-6-20 10:51
你这是在迫害我的脖子吗..

哥,我的错

掌芝士 发表于 2020-6-20 10:53:08

猪猪虾 发表于 2020-6-20 10:48
在for 循环里面,这两个没有区别,我写了一个例子,你运行看一下

ookk

猪猪虾 发表于 2020-6-20 10:54:22

掌芝士 发表于 2020-6-20 10:53
ookk

懂了的话,麻烦给个最佳,感谢感谢

掌芝士 发表于 2020-6-20 10:57:28

猪猪虾 发表于 2020-6-20 10:54
懂了的话,麻烦给个最佳,感谢感谢

没问题,应该的
页: [1]
查看完整版本: for