字符串的C矩阵

时间:2014-02-01 19:46:33

标签: c

我有一个问题,说:

  

给定一个大小为n x m且日期字符串类型为的矩阵   字符。
制作一个打印最大长度字符串的程序   来自矩阵的每一行。

我已经做了一些东西,但是当我尝试执行它时,它不起作用。 我不知道为什么。有人可以给我一些建议吗?

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char tab[50][255];
    int m, n, i, j;
    printf("\n Dati numarul de linii : ");
    scanf("%d", &m);
    printf("\n Dati numarul de coloane : ");
    scanf("%d", &n);
    for(i=0; i<m; i++)
    {
       for(j=0; j<n; j++)
       {
          printf("\n Elementul [%d][%d] de tip sir de caractere : ", i+1, j+1);
          scanf("%s", tab[50][255]);
       }
    }
    return 0;
}

2 个答案:

答案 0 :(得分:1)

char tab[50][5][255];
int m, n, i, j;
printf("\n Dati numarul de linii : ");
scanf("%d", &m);
printf("\n Dati numarul de coloane : ");
scanf("%d", &n);
for(i=0; i<m; i++)
{
   for(j=0; j<n; j++)
   {
      printf("\n Elementul [%d][%d] de tip sir de caractere : ", i+1, j+1);
      scanf("%s", tab[i][j]);
   }
}

答案 1 :(得分:0)

问题在于您的

scanf("%s", tab[50][255]);  

语句。
如果您想输入字符串,请使用fgets,如下所示

for(i=0; i<m; i++)
{
      printf("\n Elementul [%d][%d] de tip sir de caractere : ", i+1, j+1);
      fgets(tab[i], 225, stdin);
}  

要打印最大长度使用strlen函数的字符串以获取字符串长度并进行一些比较以找到它。