问答详情
源自:4-6 循环结构之while循环

i++和++i的运行结果为什么是一样的?

#include <stdio.h>

int main()

{

    int i,sum=0;

    i=1;

    while(   i<=100  )  //循环条件应该是什么呢?

    {   

        

        sum=sum+i;

        ++i;         //这里是不是应该改变循环变量的值

    }

    printf("100以内所有整数之和为:%d\n", sum);

    return 0;

}


提问者:笨鸟不会飞 2016-11-14 17:36

个回答

  • 蜀山妖道
    2017-02-03 01:31:18

    他的意思,应该是 i++ 是先取值在运算,++i是运算后取值,为什么结果是一样。其实在这里i++和++i都仅仅表示的i=i+1,使用的都是完整的这个意思。之前课程里的例子,printf("%d\n",i++)或者printf("%d\n",++i),是在这个结果计算出来之前就输出了,所以才有先取值后运算,先运算后取值的区别,这样说比较容易理解

  • JustWannaHugU
    2016-11-14 17:47:04

    因为他们都是自增运算符