Poza zakresem

0

Witam
W jaki sposób ( jeśli jest to możliwe) mogę skonstruować if'a aby po wykonaniu scanf pojawiał się komunikat że napis wychodzi poza zakres ?

#include <stdio.h>

int main()
{

    char tab[5];

    scanf("%s",tab); // -> witamm

    printf("%s \n",tab); // -> witamm

    for ( int i = 0 ; i < 5 ; i++){ 
        printf("%c",tab[i]);           // -> witam
    }
    printf("\n");
    return 0;
}
0
scanf("%4s",tab); // zawsze w zakresie 4 znaki oraz znak '\0'
0

tylko jak mogę to wykorzystać np przy wpisywaniu tekstu aby wyświetlić komunikat że podany ciąg jest za długi

0

Jeżeli długość tekstu strlen() jest mniejsza niż 4 to był wpisany krótszy tekst.
W przeciwnym przypadku trzeba powtarzać char ch=getchar(); dopóki isspace(ch) && ch!='\n' jeżeli po takiej pętli ch=='\n' wprowadzono akurat 4 znaki.
Jeżeli nie to wprowadzono za dużo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1