Мой первый язык - испанский, и я не очень хорошо использую английский, но мне нужна помощь в отладке следующего программного кода, так как он вызывает ошибку при компиляции.
CODE :
#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
Вы не определили tope
. При инициализации массивов и также при пробежке для цикла, компилятор не знает что tope
и поэтому не может определить размер массивов. Установите его на постоянное целое число (перед инициализацией массивов),
const int tope = 42
или просто непосредственно вставленный в целое число вместо tope
.
@CentaurusA Извините за прямое представление комментария как ответ. Это казалось правильным сначала.