视屏38函数编写的例题程序出现应用程序错误
额废话先不说上代码#include<stdio.h>
float max = 0, min = 0;//全局变量
void main()
{
float average(float array[], int n);
float ave, score;
int i;
for(i=0; i<10; i++)
{
scanf("%f,&score");
}
ave = average(score,10);
printf("max = %6.2f\nmin = %6.2f\naverage = %6.2f\n", max, min, ave);
}
float average(float array[],int n)//定义函数,形参为数组
{
int i;
float aver = 0, sum = array;//试试改为ave
max = min = array;
for(i=0; i<n; i++)
{
if(array > max)
max = array;
else if(array < min)
min = array;
sum += array;
}
aver = sum / n;
return aver;
}
编译器都正常编译没有错误,但是在输入10个数之后进行运行的时候,就会跳出
我发现只要把for语句那段拿掉直接赋值10个值给数组,就不会出现这样的情况,上代码
#include<stdio.h>
float max = 0, min = 0;//全局变量
void main()
{
float average(float array[], int n);
float ave, score={11,22,33,44,55,66,77,88,99,00};
ave = average(score,10);
printf("max = %6.2f\nmin = %6.2f\naverage = %6.2f\n", max, min, ave);
}
float average(float array[],int n)//定义函数,形参为数组
{
int i;
float aver = 0, sum = array;//试试改为ave
max = min = array;
for(i=0; i<n; i++)
{
if(array > max)
max = array;
else if(array < min)
min = array;
sum += array;
}
aver = sum / n;
return aver;
}
但是这样不就没法输入了吗?请给位大神前辈,指点迷津!!! 你确定不是 scanf("%f",&score); 吗 scanf("%f,&score");这是什么 除了void main()以外 就这个代码有问题了 {:10_247:}又犯了这么低级的错误,不要拦我我要去死{:10_247:} 七煞 发表于 2016-1-17 19:59
又犯了这么低级的错误,不要拦我我要去死
冲动是魔鬼{:5_91:} 黑龍 发表于 2016-1-17 19:49
scanf("%f,&score");这是什么
弱弱的问一句你的鱼币拿到了吗?第一次发悬赏{:5_92:} 七煞 发表于 2016-1-17 19:59
又犯了这么低级的错误,不要拦我我要去死
编译器没有warning? 黑龍 发表于 2016-1-17 20:02
编译器没有warning?
没有{:10_249:} 七煞 发表于 2016-1-17 20:03
没有
这什么编译器啊。。。。 七煞 发表于 2016-1-17 20:01
弱弱的问一句你的鱼币拿到了吗?第一次发悬赏
不知道哦 我看看 拿到了 黑龍 发表于 2016-1-17 20:09
拿到了
vc++6.0小甲鱼不是在视屏里用的这个吗? 七煞 发表于 2016-1-17 20:10
vc++6.0小甲鱼不是在视屏里用的这个吗?
你看看带你学C带你飞吧
页:
[1]