#include <stdio.h>
void add(int k){
static int total=2223;
total += k;
printf("%d", total);
}
int main(){
add(1);
add(2);
return 0;
}
static变量类似于全局,
add1的时候,输出+1,就是2224
add2的时候,输出+2。2226
total是静态变量。add(1),是将total加上1,输出2224;add(2),是将total再加上2,输出2226
打印2224和2226
total是静态int,先加1,然后加2,不会在每次调用的时候重置
1️⃣:
add(1);
k=1;
static int total=2223;
total += k;
printf("%d", total);
到这里add(1)执行结束,total+上了k的值(1),此时total=2024,输出2024
2️⃣:
add(2);
k=2;
total=2224;
total += k;
printf("%d", total);
到这里add(2)执行结束,total+上了k的值(2),此时total=2026,输出2026
希望对题主有所帮助!可以的话,帮忙点个采纳!