用指针,另外保存数据的变量退出函数时不得消失.
例如:
#includestdio.h
int * fun(int n)
{
int i;
static int a[100]; // 这里用static
for (i=0;in;i++) a[i]=i;
return a[0];
}
void main()
int *p; // 声明指针
p = fun(n); // 返回指针
for (i=0;in;i++) printf("%d\n",p[i]); // 把 p 看成数组来输出
扩展资料:
注意事项
①.、数组的维度必须是一个常量表达式
int main(void)
int arr1[i];//正确
system("pause");
return 0;
而且需要注意的是,和内置类型的变量一样,如果在函数内部定义了某种内置类型的数组,那么默认初始化会令数组有未定义的值.
不用返回了,你这里函数里直接对数组元素进行操作,调用完之后a就是排好的
main()
int
a[count];
......;
order(a,count);//在这个地方调用排序(地方一)
......
void
order(int
a[],int
count)
//数组按从小到大排序
i,j,x;
for(i=0;icount;i++)
for(j=i+1;jcount;j++)
if(a[i]a[j])
x=a[i];
a[i]=wa[j];
a[j]=x;
你的程序:
b=pop();
*
pop()
a[i]=i;
return
正确的程序:
pop(int
n)//该方法传入两个参数,第一个是传入指向数组的地址,第二个参数是传入数组的长度,不需写返回语句return,只需通过指向数组的地址的传入就可以直接将数组b[]的值改变
i;
for(i=0;in;i++)
土嘎嘎的粉丝们大家好!
将函数采用指针的形式返回平均值
注意看后面的注释
int?main()
float?*a;
int?i,j;
printf("请输入学生各科的成绩:");
scanf("%f",score[i][j]);
printf("每个学生的平均成绩分别为:");
a=student_aver(score);???//?指针?a?接收函数的返回值?
return?0;
sum=0;
sum=sum+array[i][j];
return?a;??????//?输出数组?a?
在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组.
在大多数情况下,一维数组和一维指针是可以通用的.
比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回.如出错,返回空指针NULL. 代码可以写成如下形式:
int?*int_array_create(int?n)//参数n为数组元素个数
int?*r;?
if(n=0)?return?NULL;//参数错误
r?=?(int?*)malloc(sizeof(int)*n);//申请内存空间,大小为n个int长度.
return?r;//返回得到的整型数组的指针.?
以上就是土嘎嘎小编为大家整理的linux命令替换$相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!