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

不太懂,

当单独一个语句的时候没有区别,如果用在表达式中:
J++是先取J的值做计算,再自加;
++J是先自加,再取J的值做计算。

比如
int J = 2, K;
如果
K = J++;
那么先取J的值赋值给K,于是K值为2,J值再自加,J=3。

如果
K = ++J;
那么J先自加,得到J=3,然后再取J值计算,K值为3.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-21
我们先用while语句写一下 for(i=1;i<10;i++) int i=0; while (i<10){ printf(" "); i++; } 再用while语句写一下 for(i=1;i<10;++i) int i=0; while (i<10){ printf(" "); ++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的新值 我想这样说大家就应该明白了。。。
第2个回答  推荐于2017-11-26
比如J当前是5,那么J++就是先用J参与运算,参与完运算再变成6 ++J呢,是先将J变成6,然后再参与运算,就是这么简单,明白?本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网