小白利用printf理解i++,++i
阿新 • • 發佈:2021-01-25
技術標籤:c語言
首先上程式碼
#include<stdio.h>
int main()
{
int i=8;
printf("%d\n%d\n%d\n",i,++i,i++);
}
結果是
由於我用的是 Devc++,printf函式輸出表列中的求值順序為自右向左,所以我們自右向左分析!!!
i++等價於:
int x=i; 此時x的值為8
i=i+1; 此時i的值為9
return x; 返回x的值
++i等價於:
現在i的初始值為9(經過i++後)
i=i+1; 此時i的值為10
return i; 返回i的值
不難看出 ++i 和 i++ 都有自增的一步,關鍵是返回值
i++ 是將自增前的值賦給新的變數x 然後返回x的值
#include<stdio.h>
int main()
{
int i=8;
printf("%d\n%d\n%d\n%d\n%d\n",i,i++,i++,i++,i++);
return 0;
}
結果:
12
11
10
9
8
++i返回的是i的最終結果
#include<stdio.h>
int main()
{
int i=8;
printf("%d\n%d\n%d\n%d\n%d\n" ,i,++i,++i,++i,++i);
return 0;
}
結果:
12
12
12
12
12