我试图将一个字符矩阵作为参数传递给另一个函数,但程序一直停止,没有给我任何错误。 我从一个包含以下内容的文件中读取了矩阵(每个值在不同的行上): 6个 AFAA26 7A4255 1C80B6 2C158F DA8204 5A408A
我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void read(char s[100][100],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s\n",s[i]);
}
int main()
{
random();
FILE *fp=fopen("p1","r");
int n,i,j;
fscanf(fp,"%d",&n);
char s[20][10];
for(i=0;i<n;i++)
fscanf(fp,"%s",&s[i]);
fclose (fp);
read(s,n);
return 0;
}
注意:通过在主函数中写入“for(i=0;i<n;i++) printf("%s\n",s[i]);
”,它可以正确地读取文件中的值。
谢谢!
最佳答案
声明数组的大小与参数不匹配。
您可以声明相同的尺寸,也许使用 #define
来避免重复,或者查看 this question对于其他(也许更好)的替代品。
关于c - 使用 char 矩阵作为函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55781646/