我有這樣的C代碼C代碼不工作
#include <stdio.h>
int main() {
char Username[100];
char Password[100];
printf("discl0sed 0.1 discl0sed tty1\ndiscl0sed login: ");
scanf("%s", Username);
printf("Password: ");
scanf("%s", Password);
if (Username == "root" && Password == "!DISCL0SEDor1=1--")
{
return 0;
}
else
{
while (1 == 1)
{
printf("Login incorrect\ndiscl0sed login: ");
scanf("%s", Username);
printf("Password: ");
scanf("%s", Password);
printf("%s:%s", Username, Password);
if (Username == "root" && Password == "!DISCL0SEDor1=1--")
{
break;
}
else
{
continue;
}
}
}
}
這反映在Linux中tty
外殼。 問題是,當我使用正確的憑據,它說「不正確的登錄」。
爲什麼會發生這種情況?
查找'strcmp' - Google it! –
當查看手冊頁 - 閱讀有關'scanf' –
請打開您的編譯器警告! –