編程小白C語言題目練習11

題目要求

有以下程序
int a=3;
main()
{  int s=0;
{ int a=5;  s+=a++; }
s+=a++;printf(“%d\n”,s);
}

程序運行後的輸出結果是?

 思路分析

有兩個同名變量a,其中一個在main函數之前,爲全局變量

另一個在main函數中的複合語句中定義,爲局部變量,在局部變量這個a中,s+=a++,即s=s+a++=5 

執行完局部變量之後,接着是全局變量,a=3,所以s+=a++  ====> s = 5 + 3++   = 8

擼寫代碼 

#include<stdio.h>
int a=3;
int main()
{
	int s=0;
	{
		int a=5;
		s+=a++;
		printf("執行完局部變量之後s=%d\n",s); 
	}
	s+=a++;
	printf("執行完全局變量之後s=%d\n",s); 
	
	return 0;
}

驗證結果

驗證結果與分析結果一樣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章