nian念不忘
2021-08-18 16:23
采纳率: 94.4%
浏览 41

C语言程序问题 函数调用

书上的题目和知识点,想用函数做一下,可是做到调用时出了问题,求解。
img

  • 收藏

3条回答 默认 最新

  • 八云黧 2021-08-18 16:24
    已采纳

    直接写a,不要写a[N],像这样max=smax(a)
    a代表你把数组传入函数了,而a[N]则传递的是数组a中下标为N的int值而不是数组(注意a[N]还会数组越界)

    已采纳该答案
    1 打赏 评论
  • -YIN 2021-08-18 16:30

    函数调用数组传参传的是指针,即数组首元素地址;直接传数组名(数组名是数组首元素的地址。(除两个例外:sizeof和&)有兴趣可以继续问我);所以正确写法应该是:

    max=smax(a)
    

    数组说明的一般形式为:类型 数组名 [常量表达式], 其中方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
    这里数组传参不需要带 [数据元素]

    1 打赏 评论
  • qq_39528534 2021-08-18 16:42

    函数传值出问题了,形参是a[n],那实参也需要有个变量接收那个n

    打赏 评论

相关推荐 更多相似问题