#include <stdio.h>
int b=2;
int fun(int *k)
{
b=*k+b;
return b;
}
int main()
{
int a[10]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++)
{
b=b+fun(&a[i]);
printf("%d ",b);
}
return 0;
}
这个程序运行的结果是10和28,我只是很想问问,一开始的int b=2是全局变量,在fun函数的那句b=*k+b;不应该是局部变量吗,那函数结束后这个b发值不应该消失了吗?就算return 的是b;那我也觉得应该是调用函数那个地方是fun函数中b的值,为什么它前边的b也是fun函数那个b的值?问题就在这