По какой-то причине, когда я печатаю массив выше, я получаю странный вывод. Когда я запускаю этот код через терминал WinSCP, он также падает, как если бы это был бесконечный цикл. Тем не менее, я в основном ищу, чтобы исправить вывод на печать. Ввод: Том (введите) Джерри (введите) (введите, чтобы прервать) Выход: .N=?tom jerry
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
int i, counter = 0;
char nameArr[100] ;
while (1)
{
printf("Enter a name: ") ;
char word[25] ;
// Grab input
fgets (word, sizeof(word), stdin) ;
// Break if no input
if (strcmp (word, "\n") == 0)
break ;
// Checks if there is a number in the input
for (i = 0 ; i < strlen(word) - 1 ; i++)
{
int isItADigit = isdigit(word[i]) ;
if (isItADigit != 0)
{
printf("No no, number detected, no bueno!") ;
return 0 ;
}
}
// Adds word to array
strcat(nameArr, word) ;
// Future Usage
counter ++ ;
}
if (counter < 2 )
{
printf("Name is too short\n") ;
return 0 ;
}
else if (counter > 4)
{
printf("Name is too long\n") ;
return 0 ;
}
//printArray(nameArr) ;
printf("%s", nameArr) ;
return 0;
}