这个代码哪里错了红线以上的部位不可以修改

 

#define M 3

 main()
{
    int a[M],i;
    int *max,*min;

    for(i=0;i<M;i++)
    {
        scanf("%d",&a[i]);
    }

    /**/
    max=&(a[0]);
    min=&(a[0]);

    /**/
    for(i=1;i<M;i++)
    {
        if(*min > a[i])
        {
            min=&(a[i]);
        }
        
        if(*max < a[i])
        {
            max=&(a[i]);
        }
    }
    /**/
    printf("max is %d\n",*max);
    printf("min is %d\n",*min);


}


 

你有几处定义了指针,既没有初始化,也没有分配内存,那样的话,指针可能指向某个未知未知,然后你直接修改内容,会出错的。例如第5行和第9行。

问一下你们这是什么软件?在手机上开发??