读书人

一个函数有关问题

发布时间: 2012-03-24 14:00:47 作者: rapoo

一个函数问题
注意看备注:

Assembly code
#include <stdio.h>float Max = 0, Min = 0;void main(){    float arra(float ary[], float n);    float srry[10], sum;    int i;    for (i = 0; i < 10; i++)    {        scanf("%f", &srry[i]);    }    sum = arra(srry,10);    printf("Max = %f, Min = %f, Sum = %f", Max, Min, sum);}float arra(float array[], float n){    int i;    float aver,sum = array[0];    /*为什么float aver,sum = array[0] 和Max = Min = array[0]顺序调换了就出错?*/    Max = Min = array[0];    for (i = 1; i < 10; i++)    {        if (array[i] > Max)            Max = array[i];        else if (array[i] < Min)            Min = array[i];        sum += array[i];    }    aver = sum / n;    return aver;}


[解决办法]
C应该是先声明?后执行的吧?不符合C的语法?你想想是不是这么个事。要是换C 编译就没问题了
[解决办法]
变量声明放开头
[解决办法]
如果是编译就报错的话,还真就是楼上说的这种情况,如果文件是.c文件的话,变量必须要都先定义在最前边。。。
[解决办法]
变量是要先定义,再使用
[解决办法]
你是在什么编译环境下编译的,如果实在vs2008环境下编译的话,这个文件的后缀名是.c还是.cpp?
如果使用.c后缀名,系统默认使用c语言规范编译。变量声明必须在可执行语句之前,如果变量声明在可执行语句后面就会出现编译错误。

如果使用.cpp后缀名,系统默认使用c++规范编译,则不会有这个问题,可以正常编译运行。

读书人网 >C语言

热点推荐