99问答网
所有问题
当前搜索:
c语言函数如何调用数组参数
c语言 函数调用
(
形参
为
数组
名的情况)
答:
include <stdio.h> void sort(int a[20]){ int i,j,k,t;for(i=0;i<19;i++){ k=i;for(j=i+1;j<20;j++)if(a[k]>a[j]) k=j;t=a[k];a[k]=a[i];a[i]=t;} } void main(){ int a[20]={2,5,7,8,4,10,48,96,65,74,35,84,15,38,52,56,60,20,17...
C语言
中,
数组
做
函数参数如何
才能按值传递?
答:
传
数组
给一个
函数
,数组类型自动转换为指针类型,因而传的实际是地址。void func(int
array
[10])void func(int array[])void func(int *array)所以以上三种函数声明完全等同。实际情况是,数组做
参数
,完全无法按值传递。这是由
C
/C++函数的实现机制决定的。下一个问题是:为什么偏要按值传递呢?当要...
C语言
主
函数
中输入
数组
怎样
在子函数中调
答:
把数组名作为实参,传递给子函数即可,这是地址传递,子函数中处理的结果将影响到主
函数数组
的元素值。课本上“数组做
函数参数
”部分应该有例子可以参考。
C语言调用
带
数组
的
函数
为什么要这么写?
答:
首先int max(int a[])这个
函数参数
的意思是接受一个
数组
的首地址,也就是说
调用
的时候必须是地址,也可以说是指针;如果调用写成max(a[10]),这里面a[10]为第十一个元素的值当然不行了,除非你就是把地址放在里面了,强制有的编译器应该可以通过但是会有警告。其实理解了的话max(a)和max(&a[0...
c语言
初学问题,正确处理传给
函数参数
为
数组
的方法
答:
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...
c语言
编程:用
数组
名作
函数参数
,编写一个对一维数组求平均值的函数,并在...
答:
void main(){ float a[50];int i,n=0;for(i=0;getchar()!='\n';i++){ scanf("%f",&a[i]);n++;} printf("平均值是:%f",b(a,n) ); //<<<b这个
函数
传的是
数组
的首地址 } float b(float arr[],int n){ float sum=0,
c
;int i;if(n==0)return(0);for(i=0;i<...
关于
c语言
中的结构体
数组
作为
函数参数
传递的
答:
1、结构体
数组
传给指针,实质上是不可能的,本质上传的是数组首地址,根据偏移来操作数组,这样看起来好像是真在操作数组一样。就和普通指针一样使用,只不过它是结构体数组。2、例程:typedef struct Student{ char name[10] ; int age ;}Student;#define LEN 10 //print all Student infoma...
C语言
定义一个
函数
如果含有
数组
答:
void min(int a[],int b[])这样计算没错误,但是在计算的时候,你要知道a所指向的数组的长度和b所指向的长度,例如下面的例子:a数组中有10个数,b数组中有2个数,a数组的大小是40个字节,而指向他的
c数组
大小只有4个字节,所以当你运算的时候,你要知道c指向的a数组的大小,同理,d也是一样...
c语言数组
在
函数
中的传递
答:
数组
名本身就是地址,你在定义你两个方法时就定义指针类型就可以了,,然后能够直接操作数组的数据
C语言函数调用
二维
数组
,指针问题
答:
并且使用p时不能用下标,p[2][3]是错误的,因为不知道p指向的int*型的长度,无法编译成*(p+2*10+3)必须自己写成*(p+2*10+3)来
调用
假如定义成 deal(int (*p)[10])就不一样了,编译器就能知道p是一个指向长度为10的
数组
的指针 那么p[2][3]就能编译成*(p+2*10+3)了 总之,
C语言
...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜