c语言程序……哪里出错了啊
展开全部
楼主,if(input=correct)是错误的。数据类型不一样不能赋值
追问
那要怎么办TT我是初学不太懂额。就是模拟密码检测,密码是123456,显示到屏幕上是星号,输对或输错三次结束
展开全部
这是全数字型密码检测,输入时最后回车结束
#include<stdio.h>
void main()
{ char input;
int correct=123456,password,s,n=0;
InputAgain:
password=0; s=1;
while ( 1 )
{ input=getch(); if ( input==13 ) break; else printf("*");
if ( input>='0' && input<='9' ) password=password*10+input-'0';
else s=0;
}
if ( correct==password && s ) printf("\nWelcom!\n");
else { printf("\nWrong Password!\n"); n++; if ( n<3 ) goto InputAgain; } //允许两次错误
printf("The end of the program.\n");
}
#include<stdio.h>
void main()
{ char input;
int correct=123456,password,s,n=0;
InputAgain:
password=0; s=1;
while ( 1 )
{ input=getch(); if ( input==13 ) break; else printf("*");
if ( input>='0' && input<='9' ) password=password*10+input-'0';
else s=0;
}
if ( correct==password && s ) printf("\nWelcom!\n");
else { printf("\nWrong Password!\n"); n++; if ( n<3 ) goto InputAgain; } //允许两次错误
printf("The end of the program.\n");
}
更多追问追答
追问
password=password*10 input—'0' ......password
追答
比如你输入了一个'1',password=pasword*10+input-'0'=0*10+‘1’-‘0’=0+1=1
接着你输入了一个'2',password=pasword*10+input-'0'=1*10+‘2’-‘0’=10+2=12
接着你输入了一个'3',password=pasword*10+input-'0'=12*10+‘3’-‘0’=120+3=123
...
直到你输入个回车,假如你前面输入123456就会得到passwrod=123456
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询