私は現在いくつかのコードに取り組んでおり、何か問題があることを知っています。私のコードは、ユーザーに名前を入力するように促し、fgets () or sscanf ()
. ユーザーが間違ったもの (つまり、数字または英数字の大文字と小文字) を入力した場合、エラー メッセージを出力し、ユーザーが入力権を入力するまで再度入力を求める必要があります。また、初期化しました:
char name [47];
printf ( "Name: " );
//some code dealing with newline character with the use of fgets
if ( (sscanf (name, %s, name)) == 1 )
//some code dealing with this condition
else {
do {
printf ( "ERROR: Invalid name. Name should consist of letters only.\n" );
printf ( "Name: " );
if (fgets ( name, sizeof (name), stdin ) == '\0' )
//some code dealing with EOF
} while ((sscanf (name, %s, name)) != 1);
}
誰が何が悪いのか教えてもらえますか?