重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
应该是你的变量定义有问题。
创新互联公司专业为企业提供兴和网站建设、兴和做网站、兴和网站设计、兴和网站制作等企业网站建设、网页设计与制作、兴和企业网站模板建站服务,10年兴和做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
例如程序:
#include stdio.h
#include string.h
char a[5]={'a','b','c','d','e'};
void fun(char a[])
{gets(a);}
int main(){
gets(a);fun(a);puts(a);
return 0;
}
//运行示例:
初始定义为abcde,主函数输入fghij,函数再次输入klmno,输出结果为klmno
用指针就可以了,如
定义有int a[5];
则这样定义函数:
int fun(int *p, int size)
{
//p为数组的首地址
//size为数组的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0], p[4]...
}
传递参数给函数可以这样写:
fun(a, 5);
若是多维数组,则第一维大小不给出,只指定后面的维数大小,如:
定义有int a[5][2];
则这样定义函数:
int fun(int p[][2], int size)
{
//p为数组的首地址
//size为第一维的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0][1], p[4][1]...
}
传递参数给函数可以这样写:
fun(a, 5);
你的代码不全,我只能给你分析一下这种情况常见的错误了。
1、要返回数组定义在子函数中。在函数体内部定义的数据变量,如果未加修饰符(static和extern),那么她是局部的,函数执行完毕之后内存释放,造成你访问错误。你下边的那个例子定义的数组是全局变量,先不说了下班了晚上补充
int data[8] = {0, 0, 0, 0, 0, 0, 0, 0};
void dealdata(int* data, int length){
for (int i = 0; i length; i++) {
printf("%d\n", data[i]);
}
}
dealdata(data, 8);
1、输入数组需要使用指针获取地址后,就能对得到的数组就行操作了。首先打开DEV C++软件,新建一个空白的C语言文件:
2、输入程序的源码,先定义一个整型数组“a[5]”,采用scanf语句输入数组中的每个元素,这里使用指针来对输入的数字进行访问,要先给输入的每一个数字给予它的地址,便于访问,最后拿得到的数计算出平均值输出,程序就编写完成了:
3、代码全部编写成功之后编译运行,在弹出的输入面板中输入任意5个整数,按回车键,即可得出平均值,以上就是用C语言输入一个数组,关键点是数组的获取要用指针:
可以直接传入数组名
main(){
int a[5] = .....;
func1(a);
func2(a);
}
void func1(int a[5]){
}
void func2(int *a){
}