调用返回值是数组的函数。

调用返回值是数组的函数。
主调函数要输出这个数组,怎么实现啊
jyi1992  2011-5-6 
最佳答案
一般用 函数的 参数传递。
如果要通过函数返回值传递,可以用指针,另外保存数据的变量退出函数时不得消失。
例如:
#include
int * fun(int n)
{
int i;
static int a[100]; // 这里用static
for (i=0;i<n;i++) a[i]=i; <br="">return &a[0];
}
void main()
{
int i,n=5;
int *p; // 声明指针
p = fun(n); // 返回指针
for (i=0;i<n;i++)  <br="">printf("%d ",p[i]); // 把 p 看成数组 来 输出
}
得 0 1 2 3 4
L_o_o_n_i_e 2011-5-6
.
.
int * func()
{
...
return (int *)array; // 注意返回的不能是func的局部变量
}
void main()
{
int *p;
...
p = func();
for(i=0;i<n;i++) { <br="">printf("%d: %d ", p[i]);
}
...
}
rainbow_0923 2011-5-8

原文地址:https://www.cnblogs.com/champion8/p/5569835.html