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

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