我有一个问题,说:
给定一个大小为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;
}
答案 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
函数的字符串以获取字符串长度并进行一些比较以找到它。