首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c语言怎么用return返回一个数组,并输出,程序如下

2013-12-11 
c语言如何用return返回一个数组,并输出,,程序如下#includestdio.hint main(){int a[10]{1,2,5,4,7,8,9,

c语言如何用return返回一个数组,并输出,,程序如下
#include<stdio.h>
int main()
{
  int a[10]={1,2,5,4,7,8,9,10,3,6},*p;
  int *score(int a[10],int n);
  int i;
  p=score(a,10);
  for(i=0;i<3;i++,p++)
  printf("%d ",*p);
}

int *score(int a[10],int n)
{
  int i,max=a[0],min=a[0],sum=a[0],average,b[3];
  for(i=1;i<n;i++)
  {
     if(max<a[i]) max=a[i];
 if(min>a[i]) min=a[i];
 sum=sum+a[i];
  }
  average=sum/n;
  b[0]=max;
  b[1]=min;
  b[2]=average;
  return (b);
}我输出时,只有一个是返回正确的,后面输出的乱七八糟。。。是用vc++6.0来实行的,求高手解答
[解决办法]
b是个局部变量 不能这么干的
[解决办法]
b[3]在函数结束时就释放掉了内存了  你可以加一个参数 数组 用来接收要的结果 也可以全局数组来接收

热点排行