++運算的奇妙之處

首先請大家看兩個相似的程序:

第一個:

#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!

     


發佈了25 篇原創文章 · 獲贊 25 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章