1、int f( ){ auto int b=0; static int c=3; b=b+1; c=c+1; return(b+c)

main( ){
int i,j;
i=f( );
j=f( );
printf(“%d,%d”,i,j);}结果(

auto int b=0; -- 每次进入 初值 都是 0,增 1 为1。
static int c=3; -- 全局量,保留上次调用 结果。所以每次递增 1。第一次为4,第二次为5
函数调用返回 值,第一次 b+c = 5, 第2次 b+c = 6,
结果 5,6
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-25
问题不完全,把你的代码全都贴出来!

#include<stdio.h>
int f(int a)
{
auto int b=0;
static int c=3 ;b=b+1;
c=c+1;
return(a+b+c);
}
main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%d",f(a));
}

输出结果是 7 8 9

希望对你有帮助!
第2个回答  2011-08-25
5,6
关键在于c是static的,只初始化一次