当前位置:编程学习 > C/C++ >>

C语言J++和++J又什么区别?

答案:我们先用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的新值

我想这样说大家就应该明白了。。。

比如J当前是5,那么J++就是先用J参与运算,参与完运算再变成6

++J呢,是先将J变成6,然后再参与运算,就是这么简单,明白?

j++是先使用j,再将j+1

++j是先将j+1,再使用j

这是一个自加自减用算符,它的运行方向是自右向左。j++是先使用j,再将j+1,++j是先将j+1,再使用j 。
书上都有的,又是一个不爱看书的

如果J为1,那么J++这个式子的值为1,执行这句后,J的值为2;而++J这么式子的值为2,执行这句后J为2.

上一个:C语言!学生选课管理系统或者成绩管理系统!
下一个:51单片机主c语言程序,求高手教教!1!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,