C语言练习题-C语言练习题实例41
题目:学习 static 定义静态变量的用法。
在 C 语言中,static 关键字用于声明静态变量。静态变量与普通变量不同,它们的生存期和作用域是不同的。
静态变量在声明时被初始化,只被初始化一次,而且在整个程序的生命周期内都保持存在。在函数内声明的静态变量只能在该函数内访问,而在函数外声明的静态变量则只能在该文件内访问。
程序分析:以下实例中 foo()
函数声明了一个静态变量 x
,并将其初始化为 0。每次调用 foo()
函数时,x
的值都会加 1,并打印出新的值。由于 x
是静态变量,它在程序的整个生命周期中都存在,而不仅仅是在函数调用时存在。因此,每次调用 foo()
时,它都可以记住 x
的值,并在此基础上递增。
实例
#include <stdio.h>
void foo() {
static int x = 0;
x++;
printf("%d\n", x);
}
int main() {
foo(); // 输出 1
foo(); // 输出 2
foo(); // 输出 3
return 0;
}
以上实例输出结果为:
2
3
在该程序中,foo()
函数内部定义了一个静态变量 x
,并将其初始化为 0。每次调用 foo()
函数时,静态变量 x
的值都会加 1,并打印出新的值。由于 x
是静态变量,它在程序的整个生命周期中都存在,而不仅仅是在函数调用时存在。因此,每次调用 foo()
时,它都可以记住 x
的值,并在此基础上递增。