我的教授给了我一个 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]
?
最佳答案
So, I'm wondering what does this char word[n][30] mean?
从技术上讲,它是字符的二维 VLA。在此程序中,它用于存储“n”个单词,其中每个单词的最大长度为 30 个字符。
why does it have [n]?
它是一个变量,用于存储文件中的单词数。
查看您的程序,您可能必须输入 8 作为 n
的值。
关于c - char[n][100]是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54940191/