主题:希望各位帮我分析这个变长数组的函数
请问各位这个求变长数组的代码错误出在哪里 谢谢各位啦
#include<stdio.h>
double average(int size,int ary[*]);
int main (void)
{
int size;
int i;
double ave;
printf("how many numbers do you want ");
scanf("%d",&size);
int ary[size];
for(i=0;i<size;i++)
{
printf("please enter the next number ");
scanf("%d",&ary[i]);
printf("\n");
}
ave=average(size,ary);
printf("the average is %f;",ave);
return 0;
}
double average(int size,int ary[size])
{
double sum=0;
int i;
for(i=0;i<size;i++)
sum+=ary[i];
return(sum/size);
} //average
编译器错误如下
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(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:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306) : 参见“scanf”的声明
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(12) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(16) : error C2065: “ary”: 未声明的标识符
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(16) : error C2109: 下标要求数组或指针类型
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(19) : error C2065: “ary”: 未声明的标识符
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(23) : error C2057: 应输入常量表达式
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(23) : error C2466: 不能分配常量大小为 0 的数组
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(24) : warning C4028: 形参 2 与声明不同
1>生成日志保存在“file://e:\vs2008\c\dingchang shuz\dingchang shuz\Debug\BuildLog.htm”
1>dingchang shuz - 6 个错误,2 个警告
#include<stdio.h>
double average(int size,int ary[*]);
int main (void)
{
int size;
int i;
double ave;
printf("how many numbers do you want ");
scanf("%d",&size);
int ary[size];
for(i=0;i<size;i++)
{
printf("please enter the next number ");
scanf("%d",&ary[i]);
printf("\n");
}
ave=average(size,ary);
printf("the average is %f;",ave);
return 0;
}
double average(int size,int ary[size])
{
double sum=0;
int i;
for(i=0;i<size;i++)
sum+=ary[i];
return(sum/size);
} //average
编译器错误如下
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(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:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306) : 参见“scanf”的声明
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(12) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(16) : error C2065: “ary”: 未声明的标识符
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(16) : error C2109: 下标要求数组或指针类型
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(19) : error C2065: “ary”: 未声明的标识符
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(23) : error C2057: 应输入常量表达式
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(23) : error C2466: 不能分配常量大小为 0 的数组
1>e:\vs2008\c\dingchang shuz\dingchang shuz\定长数组平均值.c(24) : warning C4028: 形参 2 与声明不同
1>生成日志保存在“file://e:\vs2008\c\dingchang shuz\dingchang shuz\Debug\BuildLog.htm”
1>dingchang shuz - 6 个错误,2 个警告