当前位置:首页 » 编程语言 » c语言函数整型数组为参数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言函数整型数组为参数

发布时间: 2022-03-30 06:53:20

c语言数组变量作为函数参数

将数组传递给函数后,数组就会退化为指针

voidfun(intx,intpp[],int*n)
voidfun(intx,int*pp,int*n)
//这两种写法是等价的
pp[j++]=j;//这句写错了
//要保存到pp里的是能整除的整数,而不是计数器j,如果这么写,那么pp的值肯定是{0,1,2,3,4,5,...}
//应该改成
pp[j++]=l;//L才是被整除的整数,要保存的是这个
*n=j;//n作为一个指针,负责传出得到的数字的数量,j是计数器,当所有的计算完毕后,j的值自然是这些数字的数量

⑵ C语言 数组作为函数参数

给你一个例子,你参考一下吧:

#include <stdio.h>

#define M 5//行数
#define N 6//列数

void input(int a[M][N])
{
int i,j;

for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
}

main()
{
int array[M][N];

input(array);
}

⑶ C语言技巧:怎样把数组作为参数传递给函数

使用pointer(指针)即可.


ex:

voidfunc(int*ptr,intlen);
intarray[10];

test()
{
....
func(&array[0],10);//将第一个指针传过去,并带上长度
....
}

⑷ C语言怎么写一个返回int、用数组作为参数的函数

很简单的,数组作为函数参数传递的时候只要是数组名就可以了,因为数组名本身就是数组的首地址 .给个程序看看

#include<stdio.h>
#define N 3
int array[N][N];
void main()
{
//在主函数内声明被调函数
void convert(int array[][3]);
int i,j;
printf("输入数组:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
scanf("%d",&array[i][j]);
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
//调用矩阵转置函数
convert(array);
printf("\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",array[i][j]);
printf("\n");
}
}
void convert(int array[][3])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)//设置数组中转置矩阵元素交换
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}

⑸ c语言中,如何定义一个以数组为参数的函数,函数的功能是将数组中的每一个元素从小到大排列

#include<stdio.h>

voidsort(int*begin,int*end)
{
inti,j;
intlength=end-begin;
for(i=0;i<length;i++)
{
for(j=0;j<length-i;j++)
{
if(*(begin+j)>*(begin+j+1))
{
inttemp=*(begin+j);
*(begin+j)=*(begin+j+1);
*(begin+j+1)=temp;
}
}
}
}

intmain()
{
intt;
inta[8]={1,3,2,4,9,3,6,7};
int*p1=a;
int*p2=&a[7];
sort(p1,p2);
for(t=0;t<8;t++)
{
printf("%d",a[t]);
}
return0;
}

⑹ C语言中数组作为函数参数

C中数组名代表该数组的首地址,
char
s[]="abc";
s代表的就是‘a’在内存中的地址
以地址作参数
,实参和形参同时改变

⑺ c语言中数组作为函数参数的问题。

E
数组作为参数不需要标示大小
A
数组参数在函数中要被隐式转换为一个常量指针在使用
F
定义数组值为int
a[i]
这里的i应该是一个编译时期决定大小常量表达式。

⑻ c语言中数组名作为函数参数

要将数组长度作为一个参数传给average函数,不能在average函数内部通过int arrLen = sizeof(a) / 4;来计算数组长度。因为float average(float a[10])就相当于float average(float *a) ,所以sizeof(a)恒等于4,sizeof(a) / 4恒等于1。
应该这样:
float average(float a[10],int arrLen) {
float sumSco = 0;
for (int i = 0; i < arrLen; i++)
{
sumSco += a[i];
}
return sumSco / arrLen;
}

⑼ c语言 数组作为函数参数怎样写

囧...
你的数组定义的size是N+1,参数传进去的size是N。
参数调用方法没错,细心,细心啊,老兄...

⑽ c语言数组作为函数参数问题

不是没传进所有的数,,是你在循环时少加了一个括号.加上括号就好了,
你试试
int Maxdata(int data_max[200],int total_max)
{
int a,b;
for(a=1;a<total_max;a++)
{ b=data_max[0]; //循环开始加括号
if(b<data_max[a])
b=data_max[a];
} //括号结束
return b;
}
int Mindata(int data_min[200],int total_min)
{
int c,d;
for(c=1;c<total_min;c++)
{ d=data_min[0]; //括号开始
if (d>data_min[c])
d=data_min[c];
}//括号结束
return d;
}
循环语句只能作用第一个分号处,加上括号,下面括号内的内容都参加循环