C语言数组做为函数参数问题?

C语言数组做为函数参数问题?,第1张

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++

1、新建一个数组作为参数项目,如图所示:

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;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/12182259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存