早教吧 育儿知识 作业答案 考试题库 百科 知识分享

初学!一个关于求一维数组元素平均值的问题,急!例程:问题1:在主函数里已经定义了i,为什么还要在AvelD函数里再次定义;问题2:为什么程序到了最后在AvelD的函数头里又冒出一个temp[]

题目详情
初学!一个关于求一维数组元素平均值的问题,急!例程: 问题1:在主函数里已经定义了i,为什么还要在AvelD函数里再次定义; 问题2:为什么程序到了最后在AvelD的函数头里又冒出一个temp[],它起一个什么作用? #include<iostream> usingnamespacestd; floatAvelD(float[],int); intmain() { floatx[100],average,num=1000.0; inti,total=100; for(i=0;i<100;++i) { x[i]=num; num++; } average=AvelD(x,total); cout<<"平均:"<<average<<endl; return0; } floatAvelD(floattemp[],inttotal) { inti; floatsum=0.0,ave; for(i=0;i<total;++i) { sum=sum+temp[i]; } ave=sum/total; returnave; }
▼优质解答
答案和解析
问题1:主函数中的变量i作用范围只在主函数,关于变量的作用范围,在没用相关关键字(如static、extern等)的情况下,如果变量在函数内定义,其作用范围只是从定义的位置起到函数结束,如果在函数外部(即全局变量),其作用范围从定义的位置起到整个代码的结束。所以main函数与AvelD函数中的变量i是不相关的,也就是它们根本就是两个不同的变量,只不过变量名都为i,就是同名字的两个人。for循环一般都习惯用i做为变量名。 关于static、extern等关键字请查看C++语言相关书籍 问题2:temp[]是AvelD函数的形式参数(形参),其作用是将main函数中定义的x[100]这个数组传递到AvelD函数中进行运算。 关于形参,实参等概念,请查看C++语言相关书籍
看了 初学!一个关于求一维数组元素...的网友还看了以下: