问答详情
源自:6-4 数组作为函数参数

第二题


http://img2.mukewang.com/60c1663d00018bdc06930520.jpg

提问者:慕标0215595 2021-06-10 09:09

个回答

  • weixin_幕布斯4024552
    2024-05-13 15:47:01

    个人理解,仅作参考,arr是指针,指向的是一个地址,给函数的参数也是一个地址,就像房间一样,arr与arr1都有门牌号地址,进入的是同一个房间,改变了该房间内的物品,arr1进入时就变化了,而arr2[0]与value则是两个房间(不同的内存空间),只是房间摆设格局是一样的(数值一样),但value使用完了就会清空(函数运行结束),将空房腾出,并不会影响arr2[0]

  • 慕莱坞7197699
    2021-08-28 17:03:05

    看来后边别人写的代码,又学会一点。

    #include <stdio.h>

    int main()

    {

    int score;

    int arr[20];

    for (int i=0;i<20;i++)//补充的代码

    {

    scanf("%d",&arr[i]);

    }

    int max=arr[0];

    int min=arr[0];

    int sum=0;

    double average=0.0;


    for(int i=0;i<20;i++)

    {

    printf("%d ",arr[i]);

    }

    printf("\n");

    for(int i=1;i<20;i++)

    {

    if(arr[i]>max)

    max=arr[i];

    if(arr[i]<min)

    min=arr[i];

    sum+=arr[i-1];

    }

    average=sum/20.0;

    printf("max=%d,min=%d,average=%f\n",max,min,average);


    return 0;

    }


  • 慕莱坞7197699
    2021-08-28 13:31:00

    不会使用scanf()输入数据,也不知道如何将输入的20个数据存入数组中。

    只写了一个简单的。

    #include <stdio.h>

    int main()

    {

    int score;

    int arr[20]={87,86,85,84,82,75,79,89,98,87,85,99,95,91,93,68,85,85,81,77};

    int max=arr[0];

    int min=arr[0];

    int sum=0;

    double average=0.0;


    for(int i=0;i<20;i++)

    {

    printf("%d ",arr[i]);

    }

    printf("\n");

    for(int i=1;i<20;i++)

    {

    if(arr[i]>max)

    max=arr[i];

    if(arr[i]<min)

    min=arr[i];

    sum+=arr[i-1];

    }

    average=sum/20.0;

    printf("max=%d,min=%d,average=%f\n",max,min,average);


    return 0;

    }