关于返回数组的问题,请大家指教
初学c,编了一个10个数字排序的程序。算法笨拙高手不要笑,一开始倒数第二行是return(grade),编译错误,到网上查了知道数组只能返回地址,就试试加个&,不行,换了*就对了。可是我不明白是为什么,请具体给我讲下,我对指针概念一团糟啊。#include <stdio.h>
int main()
{
int order(int [10]);/*function's prototype*/
int grade[10];
int i;
for (i=0;i<10;i++)
{
printf("please inter the %dth number(integer)",i+1);
scanf_s("%d",&grade[i]);
}
order(grade);/*call of the function*/
for (i=0;i<10;i++)
printf("%d ",grade[i]);
return 0;
}
int order(int grade[10])/*function's header line*/
{
int i,j,temp;
for (j=0;j<9;j++)
{
for (i=0;i<9;i++)
{
if(grade[i]>grade[i+1])
{
temp=grade[i];
grade[i]=grade[i+1];
grade[i+1]=temp;
}
}
}
return (*grade);
}