++运算的奇妙之处

首先请大家看两个相似的程序:

第一个:

#include<stdio.h> 
int size;
size=1;
void main()
{
      while(++size<10.5)
    {
                printf("your size=%d\n",size);   
    }
}

第二个:

#include<stdio.h>
int size;
size=1;
void main()
{
      while(size++<10.5)
    {
               printf("your size=%d\n",size);   
    }
}

      大家认为这两个程序执行的结果会是什么?先上图,再来解释

结果1:   结果二:

        为什么++位置的不同会打印出这样的差异呢?第一个程序中while(++size<10.5);其实质是先进行size=size+1;然后再和10.5进行比较,二个程序中while(size++<10.5)实质是size和10.5先比较,然后size=size+1;这样一来的话在循环到第九次的时候,size的值是10<10.5,条件为真,size=size+1;所以会打印出一个size=11的结果来。

        如果你还不明白这样的结果:下面再来举一个例子。

       app=a++;//意思是a先赋值给app,然后a再自加;

       bpp=++b;//意思是b先自加,然后再把b再把值赋给bpp;

       这样你应该就会明白++在前和在后的区别了吧!

       good night!

     

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值