为什么代码中输入没有被执行?

蒟蒻在写一个小游戏的输入部分,但是在输入密码时碰到了问题 


struct SI	//Sign in
{
	char Name[100];
	char Password[100];
	char FileName[120];
}SI;
struct User
{
	char Name[100];
	char Password[100];
	char FileName[120];
	double StorageLevel;
	double StorageExp;
	int level;
	int exp;
}User;

	INPUTPASSWORD:
		{
			system("cls");
			Out("Please enter your password",20,0,1);
			scanf("%s",SI.Password);
			EncryptedPassword(SI.Password);
			if(strcmp(SI.Password,User.Password)!=0)
			{
				Error(5);
				goto INPUTPASSWORD;
			}
		}

在这段程序中,SI存储的是当前输入的用户(详见第一个代码段),User表示正确的用户信息(用于比较)

但是其中

scanf("%s",SI.Password);

没有被执行到,想知道解决办法

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^