局部变量问题的说明
- 局部变量的作用域多种多样,要注意定义的范围
例1
void find(int c,int d,int g[],int h[])//查找函数
{
int j;
for(j=0;j<d;j++){
int l = 0 ,r=0, mid=0;
r = c -1;
h[j] = g[r];
}
}
void find1(int c,int d,int g[],int h[])//查找函数
{
int j;
int l = 0 ,r=0, mid=0;
r = c -1;
for(j=0;j<d;j++){
h[j] = g[r];
}
}
- find()函数和find1函数看似相同,但是变量l,r,mid定义时所处的位置不同。 所以,find函数中每一次for循环,l,r,mid的值都会被初始化。但是find1函数则不同, l,r,mid的值将不会再初始化。