html5中文学习网

您的位置: 首页 > 网站及特效实例 > jquery特效 » 正文

c++将数组名作为函数参数对数组元素进行相应的运算 _编程语言综合

[ ] 已经帮助:人解决问题

   这篇文章主要介绍了c++将数组名作为函数参数对数组元素进行相应的运算,需要的朋友可以参考下TJAHTML5中文学习网 - HTML5先行者学习网

  用数组名做函数参数与用数组元素作实参有几点不同:TJAHTML5中文学习网 - HTML5先行者学习网

  (1)用数组元素作实参时,只要数组类型和函数的形参变量的类型一致,那么作为下标变量的数组元素的类型也和函数形参变量的类型是一致的。因此,并不要求函数的形参也是下标变量。换句话说,对数组元素的处理是按普通变量对待的。用数组名作函数参数时,则要求形参和相应的实参都必须是类型相同的数组,都必须有明确的数组说明。当形参和实参两者类型不一致时,将会发生错误。TJAHTML5中文学习网 - HTML5先行者学习网

  (2)用普通变量或下标变量作函数参数时,形参变量和实参变量都是由编译系统分配的两个不同的内存单元。在函数调用时进行的值传递是把实参变量的值赋予形参变量。在用数组名做函数参数时,不是进行值的传递,即不是把实参数组的每一个元素的值都赋予形参数组的各个元素。因为实际上形参数组并不存在,编译系统不为形参数组分配内存。因为数组名就是数组的首地址。因此用数组名做函数参数时所进行的传递实际上是地址的传递,也就是把实参数组的首地址赋予形参数组名。形参数组名取得该首地址后,也就等于有了具体的地址。实际上是形参数组和实参数组为同一数组,共同使用一段内存空间。TJAHTML5中文学习网 - HTML5先行者学习网

  代码如下:TJAHTML5中文学习网 - HTML5先行者学习网

  //例:一维数组score,存放10个学生的成绩,求平均值。TJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  float average(float array[10])TJAHTML5中文学习网 - HTML5先行者学习网

  { int i;TJAHTML5中文学习网 - HTML5先行者学习网

  float aver,sum=array[0];TJAHTML5中文学习网 - HTML5先行者学习网

  for(i=1; i<10; i++)TJAHTML5中文学习网 - HTML5先行者学习网

  sum=sum+array[i];TJAHTML5中文学习网 - HTML5先行者学习网

  aver=sum/10;TJAHTML5中文学习网 - HTML5先行者学习网

  return aver;TJAHTML5中文学习网 - HTML5先行者学习网

  }TJAHTML5中文学习网 - HTML5先行者学习网

  void main()TJAHTML5中文学习网 - HTML5先行者学习网

  { float score[10],aver;TJAHTML5中文学习网 - HTML5先行者学习网

  int i;TJAHTML5中文学习网 - HTML5先行者学习网

  printf("input 10 score:/n");TJAHTML5中文学习网 - HTML5先行者学习网

  for(i=0; i<10; i++)TJAHTML5中文学习网 - HTML5先行者学习网

  scanf("%f",&score[i]);TJAHTML5中文学习网 - HTML5先行者学习网

  printf("/n");TJAHTML5中文学习网 - HTML5先行者学习网

  aver=average(score);TJAHTML5中文学习网 - HTML5先行者学习网

  printf("average score is %5.2f/n",aver);TJAHTML5中文学习网 - HTML5先行者学习网

  }TJAHTML5中文学习网 - HTML5先行者学习网

  说明:TJAHTML5中文学习网 - HTML5先行者学习网

  (1)用数组名作函数参数,应该在主调函数和被调函数中分别定义数组。TJAHTML5中文学习网 - HTML5先行者学习网

  (2)实参数组与形参数组类型应一致,如不一致,结果将出错。TJAHTML5中文学习网 - HTML5先行者学习网

  (3)实际上,指定被调函数中形参数组的大小是不起任何作用的,因为C编译器对形参数组大小不做检查,只是将形参数组的首地址传给形参数组。TJAHTML5中文学习网 - HTML5先行者学习网

  (4)形参数组也可以不指定大小,定义数组时在数组名后跟一个空的中括号,为了在被调函数中处理数组元素的需要,可以另设一个参数,传递数组元素的个数。TJAHTML5中文学习网 - HTML5先行者学习网

  代码如下:TJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  #includeTJAHTML5中文学习网 - HTML5先行者学习网

  float average(float array[],int n)TJAHTML5中文学习网 - HTML5先行者学习网

  { int i;TJAHTML5中文学习网 - HTML5先行者学习网

  float aver,sum=array[0];TJAHTML5中文学习网 - HTML5先行者学习网

  for(i=1; iTJAHTML5中文学习网 - HTML5先行者学习网

  sum=sum+array[i];TJAHTML5中文学习网 - HTML5先行者学习网

  aver=sum/n;TJAHTML5中文学习网 - HTML5先行者学习网

  return aver;TJAHTML5中文学习网 - HTML5先行者学习网

  }TJAHTML5中文学习网 - HTML5先行者学习网

  void main()TJAHTML5中文学习网 - HTML5先行者学习网

  { float score1[5]= {98.5,97,91.5,60,55};TJAHTML5中文学习网 - HTML5先行者学习网

  float score2[10]= {67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};TJAHTML5中文学习网 - HTML5先行者学习网

  printf("the average of class A is %6.2f/n",average(score1,5));TJAHTML5中文学习网 - HTML5先行者学习网

  printf("the average of class B is %6.2f/n",average(score2,10));TJAHTML5中文学习网 - HTML5先行者学习网

  }TJAHTML5中文学习网 - HTML5先行者学习网

        :更多精彩文章请关注三联编程教程栏目。

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助