c程序函数图参数

标签 c function

我是 C 编程新手,我的 C 程序有问题。 我想将 10x20 图表作为参数传递给函数。 但我不知道该怎么做。

它给了我这个编译错误:

prog.c:71:6: error: conflicting types for 'thermokrasies'
 void thermokrasies(float n[10][20]){
      ^
prog.c:2:6: note: previous declaration of 'thermokrasies' was here
 void thermokrasies(float);
      ^

代码是:

#include <stdio.h>
void temperatures(float);
int main(void) {
    float array[10][20];
    array[0][0]=3.00;
    array[0][19]=-1.50;
    array[9][0]=3.50;
    array[9][19]=-1.00;
    for (i=0; i<1; i++){
        for (j=1; j<19; j++){
            array[i][j]=2.00;
        }
    }
    for (i=9; i<10; i++){
        for (j=1; j<19; j++){
            array[i][j]=3.00;
        }
    }
    for (j=0; j<1; j++){
        for (i=1; i<9; i++){
            array[i][j]=4.00;
        }
    }
    for (j=19; j<20; j++){
        for (i=1; i<9; i++){
            array[i][j]=-5.00;
        }
    }
    for (i=1; i<9; i++){
        for (j=1; j<19; j++){
            array[i][j]=1.00;
        }
    }
    temperatures(array[10][20]);
}

void temperatures(float n[10][20]){
    int i,j;
    float h,k,m,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10;
    h=n[0][0];
    k=n[0][0];
    for (i=0; i<10; i++){
        for (j=0; j<20; j++){
            if (n[i][j]>h)
                h=n[i][j];
            else if (n[i][j]<k)
                k=n[i][j];
            else{
            }
        }
    }
    printf("To megalytero stoixeio einai to %.2f kai to mikrotero to %.2f.\n",h,k);
    m=(h-k)/10;
    p0=k;
    p1=m+p0;
    p2=m+p1;
    p3=m+p2;
    p4=m+p3;
    p5=m+p4;
    p6=m+p5;
    p7=m+p6;
    p8=m+p7;
    p9=m+p8;
    p10=m+p9;
    printf("Oi perioxes 8ermokrasiwn einai: \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f \n %.2f ews %.2f",p0,p1,p1,p2,p2,p3,p3,p4,p4,p5,p5,p6,p6,p7,p7,p8,p8,p9,p9,p10);
}

最佳答案

在开头声明如下:

void temperatures(float n[10][20]);

而不是

void temperatures(float);

然后调用函数void temp(float n[10][20])

temperatures(array);

而不是

temperatures(array[10][20]);

此外,您还没有在 int main() 中将变量 ij 声明为

int i, j;

使用前。

关于c程序函数图参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36042178/

相关文章:

c - 在无限循环中显示相同的字符

C++ 写奇怪的符号而不是字符

c++ - 将函数用作函数的参数时出错

c - 使用核心文本将文本与框架底部对齐

c++ - 在 gdb 中使用 coredump 时,我如何确切知道哪个线程导致了 SIGSEGV?

python - 定义用于更改列值和创建新数据集的函数

c++ - 字段 'class' 有一个不兼容的 'class'

php - 将 PHP 代码实现为函数

c - 不使用标志变量的线程同步

c++ - 如何终止在 C/C++ Win32 程序中以 _spawnl() 启动的进程?