#include<stdio.h> int main() { void fun(); int i; for(i=1;i<=5;i++) fun(); return 0; } void fun() { int a=0; ; //定义静态变量 ; //记录函数调用次数 a++; printf("a=%3d,count=%3d\n",a,count);
时间: 2024-01-07 18:03:18 浏览: 142
C语言重点复习题目及答案
这段代码存在一些问题,下面是修正后的代码:
```c
#include <stdio.h>
void fun(); // 声明函数
int main() {
int i;
for (i = 1; i <= 5; i++) {
fun();
}
return 0;
}
void fun() {
static int count = 0; // 静态变量,只会初始化一次
int a = 0;
a++;
count++;
printf("a=%3d,count=%3d\n", a, count);
}
```
修正后的代码中,我们声明了函数 `fun()`,并在 `main()` 函数中调用了五次。在 `fun()` 函数中,我们使用了静态变量 `count`,该变量在函数第一次调用时会被初始化为 0,并在每次函数调用时自增 1。同时,我们还定义了局部变量 `a`,每次函数调用时都会被初始化为 0,并自增 1。最后,我们使用 `printf()` 函数输出 `a` 和 `count` 的值。
阅读全文