为了账号安全,请及时绑定邮箱和手机立即绑定

为什么i++和++i效果一样啊?

#include <stdio.h>

int main()

{

    int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

    //补全代码实现对数组arr的遍历

    //可以采用你自己喜欢的循环结果

    int i;

    for(i=0;i<10;i++)

    {

        printf("%d\n",arr[i]);

    }

    return 0;

}

就是不理解开始输入的i=0后如用i++则i先取值再自增应该是取的0啊,那就应该报错了,为什么i++也是正确的啊。



正在回答

5 回答

 for(i=0;i<10;i++)  {...}

流程是这样的:

第1次循环 取值i=0,用完后i++, i=1

第1次循环 取值i=1 , 用完后i++, i=2

...

第9次循环 取值i=8,用完后i++ ,i=9

第10次循环 取值i=9,用完后i++ ,i=10

第11次条件不满足,终止循环。

所以这里i++和++i效果是一样的,因为i自增的时候的值并没使用,而是给下一次循环用。

0 回复 有任何疑惑可以回复我~

i++可以当做一个独立的语句

你看i=0;i《10;i++之间都有分号的


0 回复 有任何疑惑可以回复我~

我的意思是循环到9时i其实输出的是8呀,因为i++先输出后自加啊,那样就会导致越限了啊,但是为什么并没有啊

0 回复 有任何疑惑可以回复我~

数组的一个数是arr[0]

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么i++和++i效果一样啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信