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

大神帮我看看代码


#include <stdio.h>

void printscore(int score[n])

{

    int i;

    printf("\n");

    for(i=0;i<n;i++)

        {

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

        }

    printf("\n");

}


int gettotalscore(int score[n])

{

    int sum=0;

    int i;

    for(i=0;i<n;i++)

    {

        sum+=score[i];

    }

    return sum;

}


int main()

{

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

    int sum;

    printf("总分是:%d",sum);

    return 0;

}

运行错误;还有void那一段能省略么?它为什么存在?

正在回答

3 回答

http://img1.sycdn.imooc.com//5a9e523400010d5106090514.jpg

我的理解是:

  1. 首先你的n并没有声明和初始化;

  2. sum=gettotalscore(score[]);
    当你以数组作为参数时,是把数组名传入,即sum=gettotalscore(score);

  3. void那段可以省略,它的作用是将数组遍历输出,你如果在main函数中调用,那么就会将arr[]输出;

  4. 如若存在错误或不足,请多指教

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

记川 提问者

非常感谢!
2018-03-06 回复 有任何疑惑可以回复我~

大哥,你的代码我也看了  我试了 能运行成功。我按照自己的想法试着修改,依旧失败。我真的很笨,你就直接告诉我问题出在哪里,定义函数,引入函数哪里错了。我后来主函数里 加了   sum=gettotalscore(score[]);

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

#include <stdio.h>

void printscore(int score[],int n)

{

    int i;

    printf("\n");

    for(i=0;i<n;i++)

        {

            printf("%d\t",score[i]);

        }

    printf("\n");

}


int gettotalscore(int score[],int n)

{

    int sum=0;

    int i;

    for(i=0;i<n;i++)

    {

        sum+=score[i];

    }

    return sum;

}


int main()

{

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

    

printscore( score, 10);

 printf("总分是:%d",gettotalscore( score, 10));

    return 0;

}

/*这是我自己改完的,void开头的函数是显示分数,,,,,,,,,,,,,,代码粘贴上就可以看结果;

给个积分。。。。。,*/


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

举报

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

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

进入课程

大神帮我看看代码

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