在c语言中怎么将数组直接作为函数的参数 比如 int f(int a[10]) 在调用函数时会显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c语言中怎么将数组直接作为函数的参数 比如 int f(int a[10]) 在调用函数时会显示相关的知识,希望对你有一定的参考价值。

在c语言中怎么将数组直接作为函数的参数
比如 int f(int a[10]) 在调用函数时会显示int类型与int*类型不匹配 是怎么回事 指针还没学请简单点说明

要把数组作为函数的参数,在函数定义的时候,就要在参数列表设置指针,因为数组名就是数组的头指针,在调用时直接把数组名作为函数的参数就好了
比如
int fun(int *a)

//...

int main()

int a[10];
int result=fun(a);
return 0;

这样就好了
通常为了在函数中确保访问数组不越界,在参数列表还要假如数组的长度,方便函数访问数组
如下:
int fun(int *a,int length)

int i,sum=0;
for(i=0;i<length;i++)

//...对数组的每个元素进行访问
sum+=a[i];//把全部元素加起来

return sum;

int main()

int i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
int result=fun(a,10);
printf("总和为:%d\n",result);
return 0;
参考技术A 首先你应该声明参数是int * 参考技术B int f(int []a)

int f(int *a)

C语言中 函数没有输入参数 怎么理解

"int GetNumber()

char c;
printf("\nPlease input a number (0-9): \n");
c=getch();
if(c>='0'&&c<='9')
return c-'0';
else
return -1;


在上面的程序中,定义了一个名称为GetNumber的函数,该函数没有输入参数,但是具有int型的返回值类型。int GetNumber()为GetNumber函数头部分,大括号之间为函数体部分。"
这个函数没有输入参数吗? printf("\nPlease input a number (0-9): \n");
这个不是提示要输入一个数值吗?
难道函数输入参数,不是这样理解的?
我是C语言的菜鸟,能帮我搞明白这个吗?要说的清楚点的。
送上我所有的分!
我问的是:为什么说GetNumber函数,是没有输入参数的? 这个是我在教材上面看见的

函数定义时在函数名后的圆括号的参数叫“形式参数”,简称“形参”;调用该函数时在函数名后的圆括号内的参数叫“实际参数”,简称“实参”。
int Add( int num1 , int num2) /* num1和num2为形参 */

return num1 + num2;

void main()

int a, b, value
a = 1;
b = 3;
value = Add (a, b); /* a和b为实参 */
printf("%d + %d = %d\\n", a, b, value);


在C语言中,所谓的“输入参数”就是指形参;当形参使用引用传递时,输入参数也可以当作输出参数。
GetNumber()没有形参,也就没有输入参数。至于该函数体内部的变量c及输入语句,只能算是该函数的局部变量及赋值语句而已。简单来说,函数有没有输入参数,只要看函数名的圆括号内是否有参数即可。
参考技术A c=getch();
if(c>='0'&&c<='9')
看到这句话没有,他调用了一个getch的函数。这个函数的功能是从键盘获取一个按键(就是你按下去的) 下面的条件判断让这个值在0-9之间
另外,他GetNumber() 括号里没有写参数,所以当然没有输入一个参数给他
参考技术B printf("\nPlease input a number (0-9): \n");只不过是在终端输出的起到提示作用的语句。
后面的getch也是从终端输入得到的。
函数的参数是在函数调用的时候传进来了,比如GetNumber(num);num就是函数参数,在函数内部,num这个变量可以直接使用,相当于在函数内部定义了一个变量num并且赋了一个值(传进来的值)
参考技术C printf("\nPlease input a number (0-9): \n");
c=getch();
是函数里来控制输入,是互动的输入,要在程序运行时手工提交一个给程序,而你说的参数,可以在主函数中直接调用传参,不需要再手工提交一个!
参考技术D c=getch();
getch()这也是一个函数,用的是这个函数调用赋值,输入应该这这个函数里面

以上是关于在c语言中怎么将数组直接作为函数的参数 比如 int f(int a[10]) 在调用函数时会显示的主要内容,如果未能解决你的问题,请参考以下文章

关于c语言中数组作为函数参数的函数之间调用问题

c语言向函数传递函数作为参数

在C语言中,数组作为参数,是怎样在函数之间传递的啊??

C语言函数如何return数组?

请问这个C语言中有参数的函数是怎么传递值的,调用的时候没有参数啊。

C语言子函数如何返回一个数组,主函数如何接收?