如
void f1(int a[], int n, int k)
{
int s[8], i, j=0;
for (i=0; i<n; i++)
{
if (a[i]!=k)
{
s[j] = a[i];
j++;
}
}
}
要如何在主函数中应用s【i】
然后这样就可以在主函数中引用s【1】 是s【2】了是吗
追答抱歉刚才没有仔细看你的代码,现在分析了一下,给你回复。
在你的函数中数组是局部变量,用完之后会被回收,因此刚才说直接返回不太恰当,而是要用动态内存分配的方式返回,给你看看代码:
#include <stdio.h>运行效果如下:
这个函数中s是动态分配的,因此在main中用完之后要记得释放。从程序设计的角度来说,这种方式是十分不提倡的。因为你在一个函数中分配的内存,最好是在该函数中释放。
更简单的方法是,你将数组s定义为全局变量,这样在代码的任何位置,s数组都是指向的同一个数组。
23行的注释有误,容易引起误解,修正如下:
// line 23