麻烦各位帮填一下下面的编程题缺少的程序!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/20 16:47:56
编写函数fun3(inta[],int n,int b[])其中数组a有n个元素,将返回值j为数组b中的元素个数.
例如:数组a中的元素的值依次为:11,-90,-31,-25,-46,52,38,57
数组b元素的值依次为:38,52,57
数组b数组元素个数为:3
注意:数组下标从0开始
int fun3(int a[],int n,int b[])
{
int j=0;
/*程序在此填*/
return j;
}
main()
{
int a[]={11,-90,-31,-25,-46,52,38,57},b[10];
int n=8,i,nb;
nb=fun3(a,n,b);
for(i=0;i<nb;i++)
printf("%d",b[i]);
}
辛苦大家了!我在这先谢谢了!

j = strlen((char*)b)/sizeof(int);

要包含头文件#include <stdlib.h>

#include <stdio.h>

void main()
{
int a[]={11,-90,-31,-25,-46,52,38,57};

int b[] = {38,52,57,77,23,28};

int n=8,i,nb;
nb = sizeof(b)/sizeof(int);
//楼上的方法是针对字符串的,用不出来。通过传递参数的方式判断数组大小好像不太容易实现,不过我提供一个这样的方法,你可以简单的获取到未知大小数组的大小。至于你的函数,我没有研究出来,返回大小总是sizeof(int).有空再来看吧
for(i=0;i<nb;i++)
printf("%d\n",b[i]);
}