C语言编程题中的++Y与y++的区别?

2025-04-26 20:19:12
推荐回答(4个)
回答1:

++y:先给y加上1,再进行其它运算。

y++:先让y进行其它运算,再给y加上1

比如下面的代码:

#include 
int main()
{
int av = 0, bv = 0;
int r1 = ++av;
int r2 = bv++;
printf("%d\t%d\n", r1, r2);
return 0;
}

r1=1,是因为++av,先要增加1,再给r1赋值,所以结果是1。

r2=0,是因为bv++,先让bv赋值给r2,再给bv加1,所结果是0。

回答2:

++y是先将y的值加1,表达式的值为加1后的y的值
y++是表达式的值为原来的y值,然后再将y的值加1
两个都能将y的值加1,主要区别在于表达式的值不同
例如,y=1
(1)x=++y,则y=2,x=2
(2)x=y++,则y=2,x=1

回答3:

y=1,

  •                              m=++y;

  •                               m=y++;

                        这两个是有区别的,为什么呢?

   因为第一个是,     先自加了,y=2,      然后赋值给m,       m=2;

   但是第二个是,     先把y赋值给m   ,        m=1,      然后y再自加, y=2;

  这样一看,区别是有的,虽然y的值在运算后,都是二。

   但是m的值确实不一样的。

    这样的好处在于,我们有时需要它先自增,我们有时也需要它后自增。灵活运用。

回答4:

++y是先把y自身加上1,然后再运算含它的式子;y++是先运算式子,再把y自身加上1