您的位置:首页 > 编程语言 > C语言/C++

C语言中 i++ 和 ++i 有什么区别?

2014-03-25 19:46 183 查看
擦。。C语言忘得一干二净了。。转一个基础的

今天有同学问C语言中for循环里那个 i++ 和 ++i 是否有区别,我告诉他在for循环中是没有区别的,现在具体说一下 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的新值

我想这样说大家就应该明白了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C c语言 i++ ++i