永发信息网

为什么我怎么输入,都提示密码错误?环境是linux的终端

答案:3  悬赏:80  手机版
解决时间 2021-04-07 10:11
  • 提问者网友:难遇难求
  • 2021-04-06 19:12
#include
#include
void main()
{
int n,b;
char c1[20];
char pw[]="123456";
printf("请输入密码\n");
fgets(c1,20,stdin);
b=strcmp(pw,c1);
for(n=2;;n--)
{
if(n==0)
{
printf("您已经连续输错3次,对不起,无法进行输入了\n");
break;
}
if(b!=0)
{
printf("密码错误,请重新输入,您还有有%d机会\n",n);
strcpy(c1,fgets(c1,20,stdin));
b=strcmp(pw,c1);
}
else
{
printf("输入正确!~\n");
break;
}
}
}
最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-04-06 19:44
#include
#include
void main()
{
int n,b;
char c1[20];
char pw[]="123456\n";

for(n=2;;n--)
{
printf("请输入密码\n");
fgets(c1,20,stdin);
b=strcmp(pw,c1);

if(n==0)
{
printf("您已经连续输错3次,对不起,无法进行输入了\n");
break;
}
if(b!=0)
{
printf("密码错误,请重新输入,您还有有%d机会\n",n);
}
else
{
printf("输入正确!~\n");
break;
}
}
}
全部回答
  • 1楼网友:酒安江南
  • 2021-04-06 21:13
请贴上tail -f /var/log/secure内容
  • 2楼网友:第幾種人
  • 2021-04-06 21:07
c类的编程我不太熟,但从你的程序上看,大概是pw与c1不相等引起的,我注意到下面三句: char c1[20]; char pw[]="123456"; fgets(c1,20,stdin); 因此猜测,c1中有空格引起pw与c1不相等,不知道这个猜测能否帮助你。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯