数据传值问题
#include<stdio.h>float a,average,max,min;
float v(float a,int n);
void main()
{
int i ;
float s;
printf("input ten numbers: \n");
for(i = 0;i < 10; i++)
{
scanf("%6.3f",&a);
s = v(a,10); //这里为什么应该是s = v(a,10)
}
printf("average = %f\n max = %f\n min = %f\n",average,max,min);
}
float v(float a[],int n)
{
int i;
floats = 0,max = min = 0.0;
s = s + a;
average = s / n;
for (i = 0;i < n; i++)
{
if(max < a)
{
max = a;
}
else if(min > a)
{
min = a;
}
}
}
s = v(a,10);这里为什么应该是s = v(a,10),有点想不通,小弟刚刚学这个,麻烦知道的大神告诉小弟下,感谢了。 v 是一个函数
s = v(a,10) 的意思就是s 等于 v函数的返回值
{:9_240:} 感觉说不好......{:9_240:}@阴影中的曙光 你注意下v这个函数的函数声明第一个参数是float a,这是啥?这其实就是一个地址,所以你在调用时也应该传一个地址,a就是数组的第一个元素的地址,而你的a【i】,只不过是数组里的一个元素,是一个fpoat类型的数据 阴影中的曙光 发表于 2015-12-21 21:29
你注意下v这个函数的函数声明第一个参数是float a,这是啥?这其实就是一个地址,所以你在调用时也应该 ...
谢谢了,可能我对数组还是有一点不能理解。
页:
[1]