1. 程式人生 > 其它 >小白利用printf理解i++,++i

小白利用printf理解i++,++i

技術標籤: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的值

不難看出 ++ii++ 都有自增的一步,關鍵是返回值

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