情况1:
#include<stdio.h>
int f(int a)
{
auto int b=0; //auto 也可省略.
static int c=3;
b=b+1;
c=c+1;
return (a+b+c);
}
int main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%d\n",f(a));
}
输出结果为:
7
8
9
情况2:
#include<stdio.h>
int f(int a)
{
static int b=0;
static int c=3;
b=b+1;
c=c+1;
return (a+b+c);
}
int main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%d\n",f(a));
return 0;
}
输出结果为:
7
9
11
情况3:
#include<stdio.h>
int f(int a)
{
int b=0;
int c=3;
b=b+1;
c=c+1;
return (a+b+c);
}
int main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%d\n",f(a));
return 0;
}
输出结果为:
7
7
7
本文通过三个不同场景的C语言程序示例,展示了在函数中使用静态局部变量时的输出规律变化,帮助读者理解静态变量的特点及其如何影响程序运行结果。
5万+

被折叠的 条评论
为什么被折叠?



