Я пытаюсь написать простой код, в котором пользователь должен ввести строку, но если строка содержит более пяти символов, она должна вывести ошибку и вернуть -1.Я использовал fgets, чтобы получить ввод, и strlen, чтобы вычислить длину строки.
#include <stdio.h>
#include <strings.h>
#include <stdlib.h>
int main()
{
char a[5];
int length = 0;
printf("Enter a string to calculate it's length\n");
fgets(a,5,stdin);
length = strlen(a)-1; // don't want the '\n' to be counted
if(length > 5){
printf("error");
}
printf("string length %d\n",length);
return 0;
}
Когда я ввожу строку с более чем 5 символами, она не выводит ошибку, она просто выводит, чторазмер строки - три.
Может ли кто-нибудь дать мне подсказку?
Заранее спасибо.