使用char矩阵作为函数的参数

时间:2019-04-21 09:47:12

标签: c

我正在尝试将char矩阵作为参数传递给另一个函数,但是程序不断停止,而没有给我任何错误。 我已经从包含以下内容的文件中读取了矩阵(每个值在不同的行上): 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]);”,它可以正确读取文件中的值。

谢谢!

1 个答案:

答案 0 :(得分:3)

您声明的数组大小和参数不匹配。

您可以声明相同的尺寸,或者使用#define来避免重复,或者可以在this question中查找其他(可能更好)的替代方案。