Я нашел код для нахождения самой длинной строки в массиве и распечатал ее с помощью strrev ();функция.Мой код работает успешно, но если моя первая строка была больше, чем другие строки, моя программа не понимает.
Это мой прототип:
void LongStr(char str[][50],int n);
и это моя функция Main ():
int main()
{
char str[size][wsize];
int n;
printf("\n How many words to accept:- ");
scanf("%d",&n);
printf("\n Enter %d words:- \n \n",n);
for(int i = 0; i < n; i++)
scanf("%s", str[i]);
LongStr(str,n);
return 0;
}
и это мой LongStr ();функция:
void LongStr(char str[][50],int n)
{
int Max = strlen(str[0]);
int len;
int c;
for(int i = 1; i < n; i++)
{
len = strlen(str[i]);
if( len > Max )
{
c = i;
Max = len;
}
}
printf("\n The longest string with reverse model is: \"%s\" \n \n",strrev(str[c]));
}
Пример:
FirstString
SecondLongestString
ThirdString
output: strrev ("SecondLongestString");
Пример:
FirstString
SecondString
ThirdLongestString
output: strrev ("SecondLongestString");
Пример:
FirstLongestString
SecondString
ThirdString
Вывод: сбой!
Спасибо.