写出下面程序的输出结果 #include<stdio.h> int fa(int a) { static int m = 1; m=a+m; return m; }void main (void){ int i; for( i=1; i<=2; i++) printf("%4d",fa(i)); printf("\n"); }
时间: 2023-12-10 18:03:29 浏览: 157
#include <stdio.h>
4星 · 用户满意度95%
该程序无法编译通过,有以下两个错误:
1. `void main (void){` 中的括号应为英文括号,即 `void main (void) {`。
2. `fa()` 函数中的 `static` 变量 `m` 没有进行初始化,应该在定义时进行初始化,即 `static int m = 1;`。
修改后的程序如下:
```c
#include <stdio.h>
int fa(int a) {
static int m = 1;
m = a + m;
return m;
}
int main(void) {
int i;
for (i = 1; i <= 2; i++)
printf("%4d", fa(i));
printf("\n");
return 0;
}
```
输出结果为:
```
2 4
```
阅读全文