首先請大家看兩個相似的程序:
第一個:
#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!