else if(higher(a[i],b[i])==0)
括号括错了
如果b[i]!=0;那么 b[i]==0就为假 也就是0;
如果b[i]==0;那么b[i]==0就为真 也就是1;
如果higher(a[i],b[i]==0)的值为0时 就不执行m++
如果higher(a[i],b[i]==0)的值为不0时 就执行m++
2、添加一个arrayc文件,如图所示:
3、包含stdioh和stdlibh头文件,如图所示:
4、输入main函数主体及返回值,如图所示:
5、定义一个数组arr,如图所示:
6、定义一个function函数,如图所示:
7、将数组作为参数传递给function函数,如图所示:
8、运行程序,输出结果,如图所示:
E
数组作为参数不需要标示大小
A
数组参数在函数中要被隐式转换为一个常量指针在使用
F
定义数组值为int
a[i]
这里的i应该是一个编译时期决定大小常量表达式。
int main()
{
int a[99],i,c;
int f(int c);
for(i=0;i<99;i++)
a[i]=i+2;
for(i=0;i<99;i++)
{c=a[i];
a[i]=f(c);//<-------------
//a[i]=c;
}
for(i=0;i<99;i++)
printf("a[%d]=%-5d",i,a[i]);
}
int f(int c)
{ int i;
for(i=2;i<c;i++)
if(c%i==0)break;
if(i==c)
c=c;
else
c=0;
return c;
}
要把数组作为函数的参数,在函数定义的时候,就要在参数列表设置指针,因为数组名就是数组的头指针,在调用时直接把数组名作为函数的参数就好了
比如
int fun(int a)
{
//
}
int main()
{
int a[10];
int result=fun(a);
return 0;
}
这样就好了
通常为了在函数中确保访问数组不越界,在参数列表还要假如数组的长度,方便函数访问数组
如下:
int fun(int a,int length)
{
int i,sum=0;
for(i=0;i<length;i++)
{
//对数组的每个元素进行访问
sum+=a[i];//把全部元素加起来
}
return sum;
}
int main()
{
int i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
int result=fun(a,10);
printf("总和为:%d\n",result);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)