Comment puis-je vérifier la longueur de la saisie de l'utilisateur en C?

Je suis un peu nouveau sur C, et l'entrée de la lecture est vraiment déroutant moi. Je suis en train d'initialiser un tableau de taille 4, mais il arrive que l'utilisateur va entrer en entrée valide de 3. En Java, j'ai pu vérifier la longueur de l'entrée et ajouter des instructions conditionnelles, mais je ne suis pas sûr de savoir comment cela fonctionne dans C.

main(void){
        char str[N];
        int i;

        for(i = 0; i < N; i++){
                scanf("%c", &str[i]);
        }

        for(i = 0; i < N; i++){
            printf("%c\n", str[i]);
        }
}

Droit maintenant, si j'ai d'entrée de 4 ou plus, il fonctionne très bien. Si j'ai d'entrée de 3, il se casse. J'aimerais qu'il à gérer à la fois les 3 ou 4 caractères.

En fait, la racine du problème est: je suis en train d'essayer de trouver un moyen de C lire dans un 24-heures-le temps de l'horloge, et l'ajouter à un 24-heures-horloge durée. Je devrais être en train d'approcher ce une façon entièrement différente?

Merci,

OriginalL'auteur Kris | 2011-10-24