编译器 C 有问题,请帮帮我

编译器 C 有问题,请帮帮我

我的第一语言是西班牙语,而且我的英语使用不是很好,但我需要一些帮助来调试以下程序代码,因为它在编译时会产生错误。

代码:

#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 抱歉,没有直接提交评论作为答案。乍一看似乎不对。

相关内容