YXSDX 2022-08-25 16:11 采纳率: 60%
浏览 41
已结题

关于#程序崩溃#的问题,如何解决?


#include<stdio.h>
void maxmin(int a[],int len,int *max,int *min){
    int i=0;
    *max=a[0];
    *min=a[0];
    for(i=0;i<len;i++){
        if(a[i]>*max){
            *max=a[i];
        }
        if(a[i]<*min){
            *min=a[i];
        }
        
    }
}
int main()
{
    int a[6]={1,2,3,4,5,6,};
    int len=sizeof(a)/sizeof(a[0]);
    int *max;
    int *min;
    maxmin(a,len,max,min);
    printf("%d,%d",*max,*min);
    return 0;
}

请问为什么运行崩溃?

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-08-25 16:18
    关注

    min和max指针没有分配空间,不能进行赋值

    #include<stdio.h>
    void maxmin(int a[],int len,int *max,int *min){
        int i=0;
        *max=a[0];
        *min=a[0];
        for(i=0;i<len;i++){
            if(a[i]>*max){
                *max=a[i];
            }
            if(a[i]<*min){
                *min=a[i];
            }
            
        }
    }
    int main()
    {
        int a[6]={1,2,3,4,5,6,};
        int len=sizeof(a)/sizeof(a[0]);
        int min,max;
        maxmin(a,len,&max,&min);
        printf("%d,%d",max,min);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 创建了问题 8月25日