若有以下程序
#include <stdio.h>
int a=2;
int f(int m)
{ static int n;
n=0; n++; a++;
return n+m+a;
}
main()
{ int k;
for (k=0; k<4; k++)
printf("%d,", f(k));
}
n++与a++如何区分
static int n; 这个语句说明 n 是个静态整型变量,因为它是用 static 来修饰的,作为一个静态变量,特点就是 n 的值 是不会改变的,所以 n++ 之后 n 的值不会改变,永远都是默认值,也就是0
而 int a=2; 说明 a 是个普通的整型变量,每次 a++ 之后,a 的值会加一
有帮助的话记得点个采纳支持一下博主呀
a是全局变量,可以更改值,但是n就不可以了,他是静态变量,初始值是0,后续不会改变