static 修飾 函數內的局部變量

void incre();
int x = 3;
void main() {
	int i;
	for (i = 1; i < x; i++)  //這裏的x是3,是不會變的。
		incre();
}
void incre() {
	static int x = 1;  //這裏對x的賦值只會執行一次。
	x *= x + 1;//第一次x=1參加運算,第二次x=2參加運算。
	printf("%d", x);
}

這題的輸出是2 6

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