数组名作函数参数
#include<stdio.h>int main()
{
float average(float array[10]); //函数声明
float score[10],aver;
int i;
printf("input 10 score:\n");
for(i=0;i<10;i++)
{
scanf("%f",&score[i]);
}
printf("\n");
aver=average(score); //调用average函数
printf("average score is %5.2f\n",aver);
return 0;
}
float average(float array[10]); //定义average函数
{int i;
float aver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i]; //累加学生成绩
aver=sum/10;
return(aver);
}
各位,这个程序有没有问题,我是照着书上打的,我对着书,对了两次,没发现问题。
可是,我在VC2008上运行,提示有两个错误。
c:\users\administrator\documents\visual studio 2008\projects\array name\array name\array name.cpp(10) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\软件\vc2008\vc\include\stdio.h(306) : 参见“scanf”的声明
1>c:\users\administrator\documents\visual studio 2008\projects\array name\array name\array name.cpp(21) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>生成日志保存在“file://c:\Users\Administrator\Documents\Visual Studio 2008\Projects\array name\array name\Debug\BuildLog.htm”
1>array name - 1 个错误,1 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
这个是用数组名作为函数参数的,应该在主调函数和被调用函数分别定义数组,例中array 形参数组名,score是实参数组名,分别在其所在函数中定义,不能只在一方定义。
分别在其所在函数中定义,这句我明白,score 是在主函数中定义,array是在average函数中定义。
不能只在一方定义。这句是什么意思,这一方是哪一方?