如何将带有指针的数组传递给函数?

用户名

这是我的代码:

#include <stdio.h>

#include <stdlib.h>


 void AverageOfAss(float marks[][101], int numStudents, int numAss, float *avg[]) {
    int i, j;
    for (j=0; j<numAss; j++) {    
        *avg[j] = 0;
        for (i=0; i<numStudents; i++) {
            *avg[j] += marks[i][j];
            *avg[j] = *avg[j]/(float)numStudents*100;
            return ;
        }
    }
}

void PrintAvg(float *avg[], int numAss) {
    int i;
    for (i=0; i<numAss; i++) {
        printf("Average for Exam %d = %.1f\n", i, *avg[i]);

        return;
    }
}

int main(int argc, char* argv[]) {
    float grades[1001][101], avgAss[1001];
    float *p;
    int i, j, row, col;

    p = avgAss;

    row = atoi(argv[1]);
    col = atoi(argv[2]);

    FILE *input_grades;

    input_grades = fopen("grades.txt", "r");

    // READ IN GRADES
    for (i=0; i<row; i++) {
        for (j=0; j<col; j++) {
            fscanf(input_grades, "%f, ", &grades[i][j]);
        }
    }

    // OUTPUT GRADES LIST
    printf("==================================\n");
    printf("Student grades from the input file\n");
    printf("==================================\n");
    for (i=0; i<row; i++) {
        printf("\n");
            for (j=0; j<col; j++) {
                printf("%.1f, ", grades[i][j]);
            }
    }
    printf("\n\n");
    AverageOfAss(grades, row, col, &avgAss);
    PrintAvg(&avgAss, col); 

    fclose(input_grades);
}

一切正常,只是当我尝试在终端上执行代码时,它显示了一些警告:

  1. 不兼容的指针类型,将“ float(*)[1001]”传递给“ float **”类型的参数

    AverageOfAss(等级,行,列和&avgAss);

  2. 在此处将参数传递给参数“ avg”

    void AverageOfAss(浮点数[] [101],int numStudents,int numAss,float * avg []){

  3. 不兼容的指针类型,将“ float(*)[1001]”传递给“ float **”类型的参数

    PrintAvg(&avgAss,col);

  4. 在此处将参数传递给参数“ avg”

    void PrintAvg(float * avg [],int numAss){

有人知道我的代码发生了什么事吗?而我该如何解决呢?(这里的新手)

一些程序员哥们

问题在于,指向的数组的float指针与指向的指针的指针不同float

错误消息实际上告诉您确切应该如何解决问题...编译器告诉您的是&avgAss类型,float(*)[1001]而参数为类型float **因此,您需要更改函数参数类型以匹配编译器的期望,例如float (*avg)[1001]然后,您将遇到一个*avg[j]实际上意味着要解决的问题,*(avg[j])而不是您所需要的(*avg)[j]

但是,您根本不需要将指针传递给数组。您需要做的就是让数组自然衰减到指向其第一个元素的指针,因此您真正应该做的就是将function参数更改为,float *avg并像普通数组一样使用它avg[j]当然,不要将指针传递给数组,只能avgAss在调用中使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将带有指针的数组传递给函数?

来自分类Dev

如何将带有键的数组传递给函数的参数?(使用多维数组)

来自分类Dev

如何将带有2个参数的函数作为参数传递给函数?

来自分类Dev

如何将带有jQuery的所有元素的数组传递给PHP

来自分类Dev

如何将带有空格键的数组/对象传递给流星模板?

来自分类Dev

jQuery-如何将带有Ajax的数组传递给PHP?

来自分类Dev

如何将带有参数的参数传递给gulp?

来自分类Dev

Boost C ++。将带有签名指针的成员函数指针传递给函数

来自分类Dev

如何将带有对象引用的函数传递给另一个函数以执行

来自分类Dev

如何将带有参数作为参数的函数传递给Python中的另一个函数?

来自分类Dev

C指针,了解如何将数组传递给函数

来自分类Dev

C ++-错误地插入将带有const参数的函数指针传递给模板类

来自分类Dev

如何将带有非法名称的关键字参数传递给接受** kwargs的函数

来自分类Dev

如何将带有字符串变量的字符串传递给C ++中的函数

来自分类Dev

如何将带有字段名称的python dataFrame 作为变量传递给用户定义的函数

来自分类Dev

如何将Swift字符串数组传递给带有char **参数的C函数

来自分类Dev

Python:将带有参数的函数传递给函数

来自分类Dev

Python:将带有参数的函数传递给函数

来自分类Dev

将带有字符串的结构化numpy数组传递给cython函数

来自分类Dev

将带有空格的数组传递给Bash函数以充当其参数列表

来自分类Dev

如何在JavaScript中将带有参数的函数传递给函数

来自分类Dev

如何或可以将带有参数作为参数的函数传递给lua中的函数?

来自分类Dev

如何将带有美元前缀的键传递给后端

来自分类Dev

如何将带有URL的数据传递给ui-sref?

来自分类Dev

如何将带有@ url.action的参数传递给控制器

来自分类Dev

如何将带有空格的变量传递给环境解释器

来自分类Dev

如何将带有$ ajax的JSON参数传递给asmx Web服务

来自分类Dev

如何将带有参数的方法传递给线程以执行?

来自分类Dev

如何将带有回调的Objective-C传递给Swift方法?

Related 相关文章

  1. 1

    如何将带有指针的数组传递给函数?

  2. 2

    如何将带有键的数组传递给函数的参数?(使用多维数组)

  3. 3

    如何将带有2个参数的函数作为参数传递给函数?

  4. 4

    如何将带有jQuery的所有元素的数组传递给PHP

  5. 5

    如何将带有空格键的数组/对象传递给流星模板?

  6. 6

    jQuery-如何将带有Ajax的数组传递给PHP?

  7. 7

    如何将带有参数的参数传递给gulp?

  8. 8

    Boost C ++。将带有签名指针的成员函数指针传递给函数

  9. 9

    如何将带有对象引用的函数传递给另一个函数以执行

  10. 10

    如何将带有参数作为参数的函数传递给Python中的另一个函数?

  11. 11

    C指针,了解如何将数组传递给函数

  12. 12

    C ++-错误地插入将带有const参数的函数指针传递给模板类

  13. 13

    如何将带有非法名称的关键字参数传递给接受** kwargs的函数

  14. 14

    如何将带有字符串变量的字符串传递给C ++中的函数

  15. 15

    如何将带有字段名称的python dataFrame 作为变量传递给用户定义的函数

  16. 16

    如何将Swift字符串数组传递给带有char **参数的C函数

  17. 17

    Python:将带有参数的函数传递给函数

  18. 18

    Python:将带有参数的函数传递给函数

  19. 19

    将带有字符串的结构化numpy数组传递给cython函数

  20. 20

    将带有空格的数组传递给Bash函数以充当其参数列表

  21. 21

    如何在JavaScript中将带有参数的函数传递给函数

  22. 22

    如何或可以将带有参数作为参数的函数传递给lua中的函数?

  23. 23

    如何将带有美元前缀的键传递给后端

  24. 24

    如何将带有URL的数据传递给ui-sref?

  25. 25

    如何将带有@ url.action的参数传递给控制器

  26. 26

    如何将带有空格的变量传递给环境解释器

  27. 27

    如何将带有$ ajax的JSON参数传递给asmx Web服务

  28. 28

    如何将带有参数的方法传递给线程以执行?

  29. 29

    如何将带有回调的Objective-C传递给Swift方法?

热门标签

归档