我是 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/