非常に単純なプログラム:
int main (void)
{
int i = 0, length=0;
char password[] = SECRET;
char guess[10];
for (i=0; i<3; i++){
printf( "Enter the password: " );
fgets (guess, 10, stdin );
length=strlen(guess);
guess[length]='\0';
if(strcmp( guess, password ) == 0 ){
printf("\aYou got it right!\n" );
return 0;
}
else printf("You wrote %s Incorrect guess\n\n", guess);
}
puts("Sorry, you're all out of guesses");
return 0;
}
しかし、それは機能しません。
プログラムに「「黒」と思いました。申し訳ありませんが、パスワードは「黒」でした」という奇妙な状況でも、隠し文字、空白、ゴミ情報などの問題が発生している可能性があります。文字列の比較ですが、それが何であるかがわかりません!