0
我正在处理我的C代码,并遇到了打印我的二维数组的问题。而不是打印一个字符串,它从问题点打印整个数组。C:打印二维数组问题
作为一个例子,输入的是,“狗”,“猫”,“帽子”。然后它会打印出来:
DogCatHat
CatHat
Hat
这是我的代码是suppsoed要做的:它从文件读取。它创建一个char数组数组。每个字符数组中有30个字符,这时从文件中读取一个字符。然后它打印出每行一个字符数组。
这是代码的样子:
char fname[] = "folder/text.txt";
char arry[30][30];
FILE *file;
file = fopen(fname, "r");
for(int x=0; x<30; x++){
for(int i=0; i<30; i++){
arry[x][i] = fgetc(file);
}
}
fclose(file);
for(int i=0; i<30; i++){
printf("%s\n", arry[i]);
}
很可能我刚才提出一个明显的错误,但我没能找到它。所以请帮助。
看到你的问题的标题很奇怪!你不能说'printf()'打印一个二维数组。它不能。 –
请记住C中的字符串实际上被称为* null terminated *字节字符串。该终结符是将字符数组转换为字符串的方式。 –
@BLUEPIXY这不是问题,只是我没有写我自己的代码。但是,tes tjat会是个问题... – Adrian