一个函数有关问题
一个函数问题
注意看备注:
------解决方案--------------------
C应该是先声明?后执行的吧?不符合C的语法?你想想是不是这么个事。要是换C 编译就没问题了
------解决方案--------------------
变量声明放开头
------解决方案--------------------
如果是编译就报错的话,还真就是楼上说的这种情况,如果文件是.c文件的话,变量必须要都先定义在最前边。。。
------解决方案--------------------
变量是要先定义,再使用
------解决方案--------------------
你是在什么编译环境下编译的,如果实在vs2008环境下编译的话,这个文件的后缀名是.c还是.cpp?
如果使用.c后缀名,系统默认使用c语言规范编译。变量声明必须在可执行语句之前,如果变量声明在可执行语句后面就会出现编译错误。
如果使用.cpp后缀名,系统默认使用c++规范编译,则不会有这个问题,可以正常编译运行。
注意看备注:
- 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++规范编译,则不会有这个问题,可以正常编译运行。