在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]) 在调用函数时会显示的主要内容,如果未能解决你的问题,请参考以下文章