qq_44733437
无情那么冷干杯
采纳率50%
2019-03-26 23:16

C语言定义函数一直找不到错在哪

已采纳

编译器一直报这个错,没找到到底错哪,大神请指导xia
[Warning] passing argument 1 of 'FindMax' makes pointer from integer without a cast

#include <stdio.h>
#define N 10
int FindMin(int b[],int n);
int FindMin(int b[],int n);
int main(){
    int b[N];
    int max,min,i,sum;
    for(i=0;i<N;i++){
        scanf("%d",&b[i]);
    }
    max=FindMax(b[N],N);
    min=FindMin(b[N],N);
    sum=max+min;
    printf("sum=%3d",sum);

    return 0;
}
int FindMax(int b[],int n){
    int i,max;
    max=a[0];
    for(i=1;i<n;i++){
        if(a[i] > max)
            max=a[i];
    }

    return max;
}
int FindMin(int b[],int n){
    int j,min;
    min=a[0];
    for(j=1;j<n;j++){
        if(a[j] < min)
            min=a[j];
    }

    return min;
}


  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前

    这不是错误,只是一个警告,如果不想看到这个警告,可以修改代码
    int FindMax(int b[],int n){
    ->
    int FindMax(int * b,int n){

    别的类似

    点赞 1 评论 复制链接分享
  • a631069724 a631069724 2年前

    警告而已,我可能类型不对

    点赞 1 评论 复制链接分享
  • weixin_42480175 妙心 2年前

    是不是存在对子母大小写的错误和书写的规范性问题?

    点赞 1 评论 复制链接分享
  • shenwuye shenwuye 2年前

    FindMax这个函数第一个参数定义为int数组,实际调用需要传入数组地址,你代码传入的是b[N],表示数组第N+1个元素,是个int值,
    所以会报警告,代码编译会强制把这个int值转成地址,代码逻辑肯定有问题,另外数组初始化N个元素,访问到了N+1,越界是个问题,
    还有函数里面变量没出现过怎么用啊 感觉好多问题。

    点赞 1 评论 复制链接分享

为你推荐