当前位置: 代码迷 >> C语言 >> [求助]函数中的数组
  详细解决方案

[求助]函数中的数组

热度:283   发布时间:2006-09-02 13:21:59.0
[求助]函数中的数组
是否可以在除main()外的函数中创建和初始化数组,例如:
swap(int i int j)
{int a[1];
int c;
c=i;
i=j;
j=c;
a[0]=i a[1]=j;
}
int main()
{
int a=5,b=6;
swap(a,b)
}
搜索更多相关的解决方案: 函数  

----------------解决方案--------------------------------------------------------
上面只是一段,不是一完整程序,我不应该把它{   }起来
----------------解决方案--------------------------------------------------------
int a[1]只有一个元素.int a[2]才有两个元素。
函数形参多于一个要加,号隔开.
交换要用地址传参,因为实参和形参占有不同的空间。
总之,您需要先看看书。
----------------解决方案--------------------------------------------------------
#include <stdio.h>
swap(int *i, int *j)
{int a[2];
int c;
c=*i;
*i=*j;
*j=c;
a[0]=*i;
a[1]=*j;
}
int main()
{
int a=5,b=6;
swap(&a,&b);
printf("a=%d,b=%d",a,b);
//printf("a[0]=%d,a[1]=%d",a[0],a[1]); //此行错误
}

其余就没问题了
----------------解决方案--------------------------------------------------------
说明在main()以外的函数中定义的数组,不能在main()函数中调用,否则出现"没有定义"的错误
----------------解决方案--------------------------------------------------------
局部变量
----------------解决方案--------------------------------------------------------
  相关解决方案