2级 C语言 此题有答案 需要注释 越详细越好

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:43:33
#include<stdio.h>
f(int a)
{int b=0;
static int c=3;
a=c++,b++;return(a);
}
main()
{int a=2,i,k;
for(i=0;i<2;i++)k+f(a++);
printf("%d\n",k);
}
运行后的结果为4
如果这个程序有问题 问题在哪?

//i=0,a = 2 则有k=f(2),函数体中 c=3,a=4,b=1 函数返回4;
//i=1,a++,a=3,k=f(3),函数体中,c=3,a=4,b=1,函数返回4;
//k=f(3)=4,所以是打印4
#include<stdio.h>
int f(int a)
{
int b=0;
static int c=3;
a=c++,b++;
return(a);
}
void main()
{
int a=2,i,k;
for(i=0;i<2;i++) k=f(a++);
printf("%d\n",k);
}

这个程序是错的.朋友.