比如定义成 void min(int a[],int x)后面为什么要有int x,这个x什么意思,比如我定义一个函数合并2个数组里面的值可以定义为 void min(int a[],int b[])么,这样定义是错误的么。
void min(int a[],int x) //int x是用来标记传过来的数组的长度(即a数组指向的那个数组的长度)。
因为你在函数中计算的时候,a只能当做一个指针来用,没有具体的长度,而且你是int 型的,所以没有标准库函数来求你需要计算的数组的长度,所以你就没法计算。
void min(int a[],int b[])这样计算没错误,但是在计算的时候,你要知道a所指向的数组的长度和b所指向的长度,例如下面的例子:
a数组中有10个数,b数组中有2个数,a数组的大小是40个字节,而指向他的c数组大小只有4个字节,所以当你运算的时候,你要知道c指向的a数组的大小,同理,d也是一样。
#include"stdio.h"
#include"string.h"
void min(int c[],int d[])
{
int i,j=0;
int e[100]={0};
printf("c=%d\n",sizeof(c));
for(i=0;i<10;i++) //a数组中有10个数
e[j++]=c[i];
for(i=0;i<2;i++) //b数组中有2个数
e[j++]=d[i];
for(i=0;e[i];i++)
printf("%d\t",e[i]);
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[2]={3,4};
printf("a=%d\n",sizeof(a));
min(a,b);
}
C语言定义一个函数如果含有数组
void min(int a[],int x) \/\/int x是用来标记传过来的数组的长度(即a数组指向的那个数组的长度)。因为你在函数中计算的时候,a只能当做一个指针来用,没有具体的长度,而且你是int 型的,所以没有标准库函数来求你需要计算的数组的长度,所以你就没法计算。void min(int a[],int b[])这样...
C语言中怎样定义一个函数里面有数组然后在主函数中调用这个数组
int* f1(int a[], int n, int k){ ...\/\/你的代码 return s;}
C语言,在函数里要输入一个数组怎么办
用指针就可以了,如 定义有int a[5];则这样定义函数:int fun(int *p, int size){ \/\/p为数组的首地址 \/\/size为数组的大小 \/\/传递进去后可以像操作a一样用下标操作p \/\/如p[0], p[4]...} 传递参数给函数可以这样写:fun(a, 5);若是多维数组,则第一维大小不给出,只指定后面的维数大小...
C语言编写一个函数,在主函数中输入包含N个元素一维数组,求此数组中最...
include<stdio.h> int N;int max3(int a[],int m[]){int i,j,k,t,b[N];for(i=0;i<N;i++)b[i]=a[i];for(i=0;i<3;i++){k=i;for(j=i+1;j<N;j++)if(b[j]>b[k])k=j;t=b[i];b[i]=b[k];b[k]=t;m[i]=b[i];} } int main(){ scanf("%d",&...
c语言中,定义一个函数,函数输出结果是一个数组,整个的形式是怎么样的...
}\/\/其中a[]就是要输入的数组,n是这个数组的长度。void main(void){ int arry[10]={1,2,3,4,5,6,7,8,9,0};fun(arry,10);...} 2.可以在主调函数中建立数组并把首地址和长度传给函数,在函数中创建一个动态数组,处理完后把动态数组的首地址返回主调函数,最后在主调函数中释放动态...
C语言编写一个函数,他至少有一个浮点数组参数,其功能截掉数组元素的小数...
arr[i] = (int)arr[i];}\/*打印数组*\/void printArr (elemType arr[], int len) {int i;for (i=0; i<len; i++)printf ("%.2f\\t",arr[i]);putchar ('\\n');}int main (void) {elemType arr[LEN] = {3.23,5.98,1.2,7.7,4.3};int len;len = 5;printf ("...
用C语言.编写一个函数,通过传递数组名称给指针的形式,求一个数组中的...
include<stdio.h> int max(int *p,int n){ int i;int max = p[0];for(i=1;i<n;i++){ if(max < p[i])max = p[i];} return max;} int main(){ int a[5]={5,2,3,4,1};printf("max = %d",max(a,5));getchar();return 0;} ...
c语言:在main函数中,定义一个含N个元素的数组,其中N是符号常量,然后编 ...
你看看是这个吧,常量N定义的是10 define N 10 include<stdio.h> void main(){ void sr(int a[]);void sc(int a[],int m);void js(int a[],int *max,int *min);void px(int a[]);int a[N],m,max,min;\/***\/ printf("输入一个数m ");scanf("%d",&m);sr(a);sc(a,...
如何用c语言的数组来实现一个正弦函数
1、C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果。2、下面用for循环实现sin的算法,程序代码如下:include<stdio.h>#include<math.h>void main(){ int i; float x,sum,a,b; \/\/sum代表和,a为分子,b为分母...
c语言的函数定义时,变量为数组与变量为一个元素,有什么区别?
变量为数组,则调用者在调用时,传递的是一个地址值(数组名就是个地址),这好比对方告诉你他家的地址,通过这个地址,你可以访问他家中的任何人、物,你在这个地址中的一举一动都在影响这个家里的变化。变量为元素,则调用者在调用时,传递的是一个数的数值。这好比,对方只告诉了你一个人名,...