为什么我用Pascal编写的If-Then账号密码校验语句无法正常运行?
代码存在的3处错误
- 运算符误用:Pascal中
:=是赋值运算符,条件判断相等需要使用= - 字符串常量缺少引号:
jorden和js3252006是字符串固定值,必须用单引号包裹,否则编译器会将其识别为未定义的变量直接报错 - 分支逻辑不完整:现有嵌套if的else仅对应内层密码判断,如果用户名输入错误,程序不会输出任何提示内容
修正后的完整代码
program userpas; uses crt; var un : string; pass : string; begin { main } { only for online GDB } clrscr; { get username } writeln('Please enter your username: '); readln(un); { get password } writeln('Please enter your password: '); readln(pass); { verify username and password } if (un = 'jorden') and (pass = 'js3252006') then writeln ('ACCESS GRANTED') else writeln('incorrect username or password'); readkey; end.
内容的提问来源于stack exchange,提问作者corruptchimp745
相关产品推荐
相关产品推荐

