您的位置:首页 > 其它

关于数组作函数参数的错误

2009-11-01 11:13 405 查看
今天写了一个程序:#include<stdio.h>

void h(int a[],int k);

void main()

{

int i,b[10];

printf("input 10 numbers:/n");

for(i=0;i<10;i++)

scanf("%d",&b[i]);

printf("befor change:/n");

for(i=0;i<10;i++)

printf("%6d",b[i]);

printf("/n");

h(b,10);

}

void h(int a[],int k)

{

int g,c[10];

for(g=0;g<10;g++)

c[g]=a[9-g];

printf("after change:/n");

for(g=0;g<10;g++)

printf("%6d",c[g]);

printf("/n");

}

这个程序中有容易犯的错误:首先是数组充当形式参数的定义void h(int a[],int k);必须单独的给出参数来限定数组的长度,因为函数在传值是只能传递一个值,即数组的首地址,故需要给出长度;在作实参时,引用应该是h(b,10);(即给出数组的首地址,和数组的长度)。只有在一维数组中可以只有数组名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: