int f(int a) {int b=0; static int c=3
intf(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}voidmain(){inta=2,j;for(j=0;j<3...
int f(int a)
{int b=0;
static int c=3;
b++;c++;
return(a+b+c);
}
void main()
{int a=2,j;
for(j=0;j<3;j++)
printf("%4d",f(a));} 展开
{int b=0;
static int c=3;
b++;c++;
return(a+b+c);
}
void main()
{int a=2,j;
for(j=0;j<3;j++)
printf("%4d",f(a));} 展开
3个回答
展开全部
输出结果是 7 8 9
因为每次进入f函数中b值都会被初始化为0,而c是静态变量,只在第一次进入该函数时声明一次,以后的值会持续变化,而不会变成初始值了
因为每次进入f函数中b值都会被初始化为0,而c是静态变量,只在第一次进入该函数时声明一次,以后的值会持续变化,而不会变成初始值了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int f(int a)
{
int b=0;
static int c=3;
b++;
c++;
return(a+b+c);
}
void main()
{
int a=2,j;
for(j=0;j<3;j++)
printf("%4d",f(a)); //第一次 a=2 b=0 c=3 b++ c++ 2+1+4 = 7
// 第二次 a=2 b=0 c=4 因为是static变量 所以只初始化一次 那么不用说就是8 了 第三次9
}
7 8 9Press any key to continue
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询