1
因此,當將結構中的字符與用戶輸入進行比較時由於某種原因編寫代碼時,它在實際應用時不會傳遞爲true。除非用戶輸入不一樣。將結構中的字符與用戶輸入進行比較
struct user
{
char login[11];
};
int main()
{
char input_login[11];
struct user goku;
strcpy(goku.login,"goku");
printf("Please enter the login:");
fgets(input_login,11,stdin);
printf("Please enter the password:");
fgets(input_password,11,stdin);
if (strcmp(goku.login, input_login) == 0) // not working
{
printf("correct");
}
else
{
printf("%s",goku.login);
}
return 0;
}
'與fgets()'葉在字符串的末尾的換行符(如果讀出的整行)。你需要去掉它(用一個空字符替換它),或者在你檢查的字符串的末尾添加一個換行符 - 然後'strcmp()'應該可以工作。 – Dmitri