Что означает char [n] [100]? - PullRequest
0 голосов
/ 01 марта 2019

Мой профессор дал мне файл C, и я не очень хорошо понимаю это.Это программа, которая читает из текстового файла.

#include <stdio.h>
main(){
    int n,m;
    char start[30],end[30];
    FILE *a;
    a=fopen("test.txt","r");
    fscanf(a,"%s",&start);
    fscanf(a,"%s",&end);
    fscanf(a,"%d",&m);
    fscanf(a,"%d",&n);
    printf("\n%s\n%s\n%d\n%d",start,end,m,n);
    char word[n][30];
    int i=0;
    while(!feof(a)){
        fscanf(a,"%s",&word[i]);
        i++;

    }

    for(i=0;i<n;i++)
        printf("\n%s",word[i]);
    fclose (a);

}

вот текстовый файл:

blah alooa
7 4
hey
boom
stackoverflow
testing

Итак, мне интересно, что означает это char word[n][30]?почему он имеет [n]?

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Ну, n - это число, если у вас есть слово, и оно читается из файла.Как будто у вас есть параметры, сохраненные в вашем файле в первых строках

0 голосов
/ 01 марта 2019

Итак, мне интересно, что означает это символьное слово [n] [30]?

Технически, это двумерный VLA символов.Он используется в этой программе для хранения «n» слов, где каждое слово может иметь длину не более 30 символов.

почему оно имеет [n]?

Это переменная, используемая для хранения количества слов в файле.

Глядя на свою программу, вы, вероятно, должны ввести 8 в качестве значения n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...