书上的题目和知识点,想用函数做一下,可是做到调用时出了问题,求解。
直接写a,不要写a[N],像这样max=smax(a)
a代表你把数组传入函数了,而a[N]则传递的是数组a中下标为N的int值而不是数组(注意a[N]还会数组越界)
函数调用数组传参传的是指针,即数组首元素地址;直接传数组名(数组名是数组首元素的地址。(除两个例外:sizeof和&)有兴趣可以继续问我);所以正确写法应该是:
max=smax(a)
数组说明的一般形式为:类型 数组名 [常量表达式], 其中方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
这里数组传参不需要带 [数据元素]
函数传值出问题了,形参是a[n],那实参也需要有个变量接收那个n