我的第一语言是西班牙语,而且我的英语使用不是很好,但我需要一些帮助来调试以下程序代码,因为它在编译时会产生错误。
代码:
#include "stdio.h"
int main(int argc, char *argv[])
{
int edad[tope], estatura[tope], rut[tope];
int i;
FILE * direccion_de_memoria_del_csv;
for (i = 0; i<tope; i++)
{
printf("=== PERSONA %d ===\n", i);
printf("ingrese edad?");
scanf("%d", &edad[i]);
printf("ingrese estatura ?");
scanf("%d", &estatura[i]);
printf("ingrese rut ?");
scanf("%d", &rut[i]);
}
/*Nota: c:/tmp/ de existir en el disco*/
direccion_de_memoria_del_csv = fopen("C:/tmp/datos.csv", "w");
fprintf(direccion_de_memoria_del_csv, "edad,estatura,rut\n");
for (i = 0; i < tope; i++)
{
fprintf(direccion_de_memoria_del_csv, "%d,%d,%d\n", edad[i], estatura[i], rut[i]);
}
fclose(direccion_de_memoria_del_csv);
return 0;
}
错误:
Taller.c:6:11: error: 'tope' undeclared (first use in this function)
int edad[tope], estatura[tope], rut[tope];
^~~~
Taller.c:6:11: note: each undeclared identifier is reported only once for each function it appears in
通过控制台使用命令执行gcc Taller.c -o Taller
答案1
您没有定义tope
。初始化数组时以及运行 for 循环时,编译器不知道tope
是什么,因此无法确定数组的大小。将其设置为常量整数(在初始化数组之前)
const int tope = 42
或者直接在 的位置放入一个整数tope
。
@CentaurusA 抱歉,没有直接提交评论作为答案。乍一看似乎不对。