c语言中i++与++i的区别,是不是i++只输出一个结果,++i会输出两个结果

就是注重输出方面是否有区别

我们先用while语句写一下 for(i=1;i<10;i++) int i=0; while (i<10){ printf(" www.slyar.com "); i++; } 再用while语句写一下 for(i=1;i<10;++i) int i=0; while (i<10){ printf(" www.slyar.com "); ++i; } 可以看到,最后i的值都是10,所以在for循环里,i++ 和 ++i 是没有区别的,那么区别在哪里呢? 现在我们再看一段程序: #include<stdio.h> int main(){ int i,x; i=1; x=1; x=i++; //这里先让X变成i的值1,然后i加1 printf("%d ",x); i=1; x=1; x=++i; //这里先让i加1,然后让X变成i的值2 printf("%d ",x); system("pause"); return 0; } 试着运行一下这段程序,发现结果是 1 2 ,这就是 i++ 和 ++i 的区别了: i++ :先引用后增加 ++i :先增加后引用 具体是什么意思呢?就是 i++ :先在i所在的表达式中使用i的当前值,后让i加1 ++i :让i先加1,然后在i所在的表达式中使用i的新值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-01
i=1 i=i++ //输出i=1,循环后在加1,先用后加 i=++i//输出2,先加后用本回答被提问者采纳
第2个回答  2019-12-24
如果i=1,i++,此时i的值还是1,见到分号以后再输出的话1的值就是2,是先用后加。++i,此时输出i的值已经是2,是先加了然后再用。