字符越界问题?编译通过,但是运行时出现乱码,请各位大神帮忙看一下哪里的问题,谢谢

/************************************************************************/
/* 模拟用户登录 /
/
***********************************************************************/
#include
#include
int main()
{
char *user; //保存用户原有用户名
char *password; //保存用户原有密码
char user_1[20]; //保存用户输入的用户名
char password_1[20]; //保存用户输入的密码
int count=3; //控制用户输入次数
user="sdlangking";
password="zvz12c";

printf("用户登录:\n");
while (count--)
{
printf("用户名:%s\n",user_1);
// fgets(user_1,20,stdin); //提示输入用户名

    printf("密  码:%s\n",password_1);
    fgets(password_1,8,stdin); //提示输入用户密码
    //判断用户名与密码是否与原有用户名,密码相同
    if (strcmp(user,user_1)==0&&strcmp(password,password_1)==0) 
    {
        printf("登录成功!\n");
    }
    else
    {
        printf("登录失败!请重新输入!\n");
    }
}
printf("三次登录失败,请联系管理员!\n");
return 0;

}

你打印的 user_1,password_1 都是未定义的。