首先int max(int a[])这个函数参数的意思是接受一个数组的首地址,也就是说调用的时候必须是地址,也可以说是指针;
成都创新互联主要从事成都网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务蓬江,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
如果调用写成max(a[10]),这里面a[10]为第十一个元素的值当然不行了,除非你就是把地址放在里面了,强制有的编译器应该可以通过但是会有警告。
其实理解了的话max(a)和max(a[0])都是可以的,都表示把数组a的首地址传过去。
可以多去了解一下指针,多上机操作,多练练就会理解的越深。
#include "stdio.h"
#include stdlib.h
#include time.h
int suiji(int *s,int d)
{
int i;
for(i=0;i7;i++)
s[i] = ((rand() % d) + 1);
return 0;
}
void main()
{
int c[7]={0};
srand((unsigned)time(NULL));
suiji(c,100);
int i;
for(i=0;i7;i++)
printf("%d ",c[i]);
}
1、新建一个数组作为参数项目,如图所示:
2、添加一个array.c文件,如图所示:
3、包含stdio.h和stdlib.h头文件,如图所示:
4、输入main函数主体及返回值,如图所示:
5、定义一个数组arr,如图所示:
6、定义一个function函数,如图所示:
7、将数组作为参数传递给function函数,如图所示:
8、运行程序,输出结果,如图所示:
c语言可以用数组元素的方法或指针的方法调用数组。
int a[100],i;
for(i=0;i100;i++)
scanf("%d",a[i]);
for(i=0;i100;i++)
printf("%d ",a[i]);
也可以:
int a[100],*p;
for(p=a;pa+100;p++)
scanf("%d",p);
for(p=a;pa+100;p++)
printf("%d ",*p);