首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个小概念数组的,该如何处理

2012-03-25 
一个小概念数组的[codeC/C++]#includestdio.hint array_sum(int array, int n)void main(){int a[10],

一个小概念数组的
[code=C/C++]#include<stdio.h>
int array_sum(int array, int n);
void main()
{
  int a[10],i;
  printf("请输入10个元素:\n");
  for(i=0;i<10;i++)
  scanf("%d",&a[i]);
  printf("输入的元素是:\n");
  for(i=0;i<10;i++)
  printf("%d",a[i]);

  printf("输入元素的和是:\n");
  printf("%d",array_sum(a,10));


}
int array_sum(int array, int n)
{
  int sum=0, *p;
  int *array_end=array+n;
  for(p=array;p<array_end;p++)
  sum+=*p;
   
  return(sum);
}[/code为什么一定需要int array_sum(int array[], int n)一定得加一个[]呢?求解?
不加的时候就会报错。
  我想都是数组啊,传递的数组首地址,那为什么既不能是 array呢? array和 array[]有什么区别呢?


[解决办法]
int array_sum(int array[], int n)
为什么加[]
表示是一个数组类型的形参啊 传的是数组
不加的话,int array,表示传整形值。
[解决办法]
对是传的数组首地址 但是形参你写成 int array 就不表示数组首地址;类型你必须写正确。必须写成int array[],楼主可以理解int []是一个类型。
[解决办法]
楼上说的是,不加[],函数的参数就是int型了,自然报错
[解决办法]
我想都是数组啊,传递的数组首地址,那为什么既不能是 array呢? array和 array[]有什么区别呢?

一个是整形变量 一个是整形数组 

其实数组传参传的是个指针 写成 int *array就行了 

照样可以使用array[N]

热点排行