C语言函数的问题
来源:百度知道 编辑:UC知道 时间:2024/05/14 13:06:12
int a=2,i;
for(i+0;i<3;i++)
printf("%d",func(a));
{
func(int a)
{
int b=0;
static c=3;
b++;c++;
return(a+b+c);
}
答案为什么不是 777?
for(i+0;i<3;i++)
printf("%d",func(a));
{
func(int a)
{
int b=0;
static c=3;
b++;c++;
return(a+b+c);
}
答案为什么不是 777?
#include<stdio.h>
int func(int a);
void main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%d",func(a));
getch();
}
int func(int a)
{
int b=0;
static c=3;
/*第一次调用c=3;,第一次初始化,以后就使用上次调用后的值*/
/*第二次调用c=4;*/
/*第三次调用c=5;*/
b++;
c++;
return(a+b+c);
}
c语言的static变量是在程序加载的时候就为之分配内存的,一直到程序结束,而不像普通变量那样函数执行一次分配一次.
嗯
变量c是静态变量
在整个程序执行的过程中始终存在
同意楼上的解释!
答案是:579 吗?