#include<stdio.h> inttest() { int n = 0; //n为局部变量,进入函数n创建,出函数n变量销毁,所以调用多次,返回值也是1 n++; return n; } intmain() { int i = 0; for (i = 1; i < 10; i++) { printf("第%d次调用 n = %d\n", i, test()); } return0; }
输出
1 2 3 4 5 6 7 8 9
第1次调用 n = 1 第2次调用 n = 1 第3次调用 n = 1 第4次调用 n = 1 第5次调用 n = 1 第6次调用 n = 1 第7次调用 n = 1 第8次调用 n = 1 第9次调用 n = 1
使用static关键字
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include<stdio.h> inttest() { staticint n = 0; n++; return n; } intmain() { int i = 0; for (i = 1; i < 10; i++) { printf("第%d次调用 n = %d\n", i, test()); } return0; }
输出
1 2 3 4 5 6 7 8 9
第1次调用 n = 1 第2次调用 n = 2 第3次调用 n = 3 第4次调用 n = 4 第5次调用 n = 5 第6次调用 n = 6 第7次调用 n = 7 第8次调用 n = 8 第9次调用 n = 9