c - 在 C 中使用函数原型(prototype)和数组

标签 c arrays function

我是 C 的新手,我一直在观看有关数组和函数的教程,并开始了一个项目。

我有一个正在开发的程序,如下所示,现在,我只希望用户输入以 ctlr Z 结尾的 x 和 y 值。问题是我仍然不明白如何关联函数 EnterValues 在 main() 内部和外部。请注意函数 EnterValues 内部有数组。

这个程序还没有完成,因为我还在往里面添加东西。输出是空的我明白这一点,因为在 main() 里面只有 int i,j; int values; 我想要输出的是下面的内容 void EnterValues(float dataarray[][MAXDATACOL])

#include "stdafx.h"
#include "stdio.h"

#define MAXDATACOL 5

int main(void) {
    void EnterValues(int dataarray[][MAXDATACOL]);
    int i,j;
    int values;
    while(1);
}

void EnterValues(float dataarray[][MAXDATACOL]) {
    for (;;) {
        int k = 0, g = 0;
        printf("enter the x and y values terminated by ctrl Z\n");
        printf("[%d][%d]:",k++,g++);
        if (scanf("%f%f",&dataarray[k],&dataarray[g]) == EOF)
            break;
    }
}

最佳答案

首先,您应该在使用函数之前对其进行声明。因此,将 EnterValues 函数声明放在 main 之前。其次,我猜数据数组是您要从“EnterValues”函数中检索的值。

您应该将代码修改为

void EnterValues(float **dataarray, int *col_num);

int main(void)
{
    int i,j;
    float dataarray[MAXDATACOL][2];
    int col_num;

    EnterValues((float **)&dataarray, &col_num);
}

我希望你知道指针的概念。祝你好运!

关于c - 在 C 中使用函数原型(prototype)和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5444857/

相关文章:

c - 用 c 舍入

java - Python、C/++、java...有没有用于比较音频信号的 api?

c - 为什么C标准包含许多不安全、无用的函数?

java - 来自与背景匹配的字符串数组的随机数

javascript - 在 jQuery 中,在函数内编写带括号或不带括号的函数有什么区别?

c - 将指针的地址分配给指针到指针

php - 使用 Laravel 获取数组键而不是值

java - 如果数组为空则打印空消息

java - 流口水功能

c++ - 从第二次调用开始执行函数中的一段代码