C语言数组和函数的成绩计算

能帮忙看一下,哪里有问题吗?
数组和函数的成绩计算
不会改,一直有错,看不太明白

img

img

aver1 和 aver2 你定义的都是float类型,就不能当数组使用
你要定义成 float aver1[3], aver2[3]; 才可以
另外 ave函数调用,传 数组名 score1,score2,score3,不要带 方括号

aver1和aver2的定义有问题,修改如下:

float aver1[3],aver2[3];

ave函数输入参数有问题,,不明白私聊哈!修改如下所示:

aver2[0]=ave(score1,n);
aver2[1]=ave(score2,n);
aver2[2]=ave(score3,n);

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7608685
  • 这篇博客也不错, 你可以看下C语言中什么是转义字符,又有哪些呢,又如何使用呢?
  • 除此之外, 这篇博客: C语言不完全类型是什么?有什么用途?中的 1、不完全类型的概念 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    ISO(国际标准化组织(International Standard Organization))将C语言分为三个不同类型集合: 函数类型、对象类型和不完全类型,具体说明如下所示:

    • 函数类型:函数就是C语言的模块、一系列 C 语句的集合,有较强的独立性,能完成某个特定的功能,可以相互调用;
    • 对象类型:C语言的对象类型不是说面向对象编程,而是在内存中创建具有特定长度,有意义的类型,例如char、int、数组、结构体、指针等;
    • 不完全类型:不完全类型是指除了函数类型之外,大小不能被确定的类型。比如,声明了一个数组,但不给出数组的长度;声明了一个结构类型,但不给出结构体的定义,只告诉编译器这是一个结构体。在最终你还是必须得给出完整的定义,否则编译器在编译单元中都找不到不完全类型的完整定义信息的话就会报错。

    C语言所有数据类型如下图所示:

    在C99标准中对不完全类型描述如下:

    The void type comprises an empty set of values; it is an incomplete type that cannot be completed. (C99 6.2.5/19)

    An array type of unknown size is an incomplete type. It is completed, for an identifier of that type, by specifying the size in a later declaration (with internal or external linkage). A structure or union type of unknown content (as described in 6.7.2.3) is an incomplete type. It is completed, for all declarations of that type, by declaring the same structure or union tag with its defining content later in the same scope.(C99 6.2.5/22)

    总结讲,C/C++中不完全类型有三种不同形式:void、未指定长度的数组以及具有非指定内容的结构和联合。void类型与其他两种类型不同,因为它是无法完成的不完全类型,并且它用作特殊函数返回和参数类型。

    不完全类型是暂时没有完全定义好的类型,编译器不知道这种类型该占几个字节的存储空间,例如以下定义方式:

    int str[]; //不完全类型数组str定义
    
    …
    
    int str[10]; //定义str数组完整的类型信息

    再举个例子,在头*.h文件中声明结构:typedef struct __list *list_t;,最终在*.c文件中定义如下:

    struct __list {
    
        struct __list *prev;
    
        struct __list *next;
    
        viud   *data;
    
    };

    此时,结构体变量*list_t就属于不完全类型,不完全类型不包含具体的类型信息,所以在未完整定义前不能通过sizeof来获知大小,并且不完全类型定义不适合局部变量。

  • 您还可以看一下 李飞老师的C语言开发之数据结构与算法一课程中的 链表的插入(优化版本)小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    我需要看一下你的代码才能确定问题所在。请提供你的代码。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^