关于i++和++i

今天看到一道关于i++的题目:

  1. #include <stdio.h>
  2. int main()
  3. {
  4.      int x;
  5.      x = 4;
  6.      x += x-=x-x--;
  7.      cout<<x<<endl;
  8.      return 0;
  9.  } 

问:打印出的x值是多少?

结果为7,分析如下:首先计算x-x,值为0,然后计算x-=x,此时x值为4。然后计算x+=x;此时x值为8.最后再执行x--,使x最终值变为7.如果将计算x的表达式改为x += x-=x-(--x);则最终结果为6.

 

再看下面的一个例子:

int main()

{

    i = 5;

   printf("%d",i = i - i++);//输出结果为0

   printf("%d",i);//输出结果为1
}

以上就说明,i=i+1的动作是在第一个printf语句之后才执行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值