答案:我们先用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.