传递数组作为参数:C语言数组求和函数存在问题,求排查
问题分析与修正
你的函数无法正常运行的核心问题是误用了其他语言的数组长度获取方式,在C语言里要注意以下两点:
- C语言中,数组作为函数参数传递时会退化为指针,没有
array.length这个属性,这是Java、C#这类语言的写法,C不支持这种用法。 - 你已经将数组的有效长度
size作为参数传入了函数,循环的终止条件应该使用这个size,而不是错误的array.length。
修正后的代码如下:
int sum(int array[], int size) { int sum = 0; int i; for (i = 0; i < size; i++) { sum += array[i]; } return sum; }
内容的提问来源于stack exchange,提问作者longus200
相关产品推荐
相关产品推荐

