为了账号安全,请及时绑定邮箱和手机立即绑定

6-12为什么运行失败

#include <stdio.h>

int main()

{

    int total(int arr[])

    {

        int total;

        for(int i=0;i<sizeof(arr));i++)

            total+=arr[i];

        return total;

    }

    int max(int arr[])

    {

        int max;

        for(int i=0,max=arr[0];i<sizeof(arr);i++)

            if(arr[i]>max)

            {

                max=arr[i];

            }

        return max;

    }

    int min(int arr[])

    {

        int min;

        for(int i=0;min=arr[0];i<sizeof(arr);i++)

            if(arr[i]<min)

                min=arr[i];

        return min;

    }

    int average(int arr[])

    {

        int average;

        average=total(arr[])/sizeof(arr);

    }

    void getbyorder(int arr[])

    {

        int temp;

        for(int i=0;i<sizeof(arr);i++)

        {

            if(arr[i]<arr[i+1])

                {

                    temp=arr[i];

                    arr[i]=arr[i+1];

                    arr[i+1]=temp;

                }

        }

        for(int j=0;j<sizeof(arr);j++)

        {

            printf(j);

        }

    }

    int score[N]={67,98,75,63,82,79,81,91,66,84};

    printf("总分%d",total(score));

    return 0;

}


正在回答

3 回答

不是很懂 sizeof(arr) 是计算数组长度还是什么刚刚测试了一下  不知道是我测试的样例问题还是我编译器有问题  我编译器无法直接运行题上的定义  做个参考而已

#include"stdio.h"

int main()

{

int a[]={0,1,2,3,4,5,6,7,8,9};

int l=sizeof(a);

printf("%d\n",l);

}

运行结果是 40。

1 回复 有任何疑惑可以回复我~
#1

小小小_小辰

才发现是很久以前的问题了 估计题主已经解决了 不知道怎么删除 emmmm 见谅
2018-06-11 回复 有任何疑惑可以回复我~

谢谢,这是一个问题,但还是提示错误

hello.c: In function 'total':
hello.c:5:29: warning: 'sizeof' on array function parameter 'arr' will return size of 'int *' [-Wsizeof-array-argument]
         for(int i=0;i


0 回复 有任何疑惑可以回复我~

函数不能写在主函数内

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926021    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

6-12为什么运行失败

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信