爱学习的阿瑶 发表于 2021-12-13 20:19:22

运行输入正确密码后,会出现两个密码不正确,随后才有密码正确

#include<stdio.h>

int main()//-------------------------------------------------------------------如何去除运行之后的两个密码不正确

{
        //int conut = 0;
        char real_answer,a;
        real_answer = '阿瑶666';
        printf("请输入正确的密码:");
        //scanf("%c",&a);
        do
        {
       if (getchar() == real_answer)
       {
                printf("密码正确");
                break;
       }
       else
       {
                printf("密码不正确!");
                //break;
       }
        }
        while (getchar() != '\n');
        return 0;
}

村里小黑 发表于 2021-12-13 20:34:42

把阿瑶删除

jackz007 发表于 2021-12-13 21:11:18

本帖最后由 jackz007 于 2021-12-13 21:16 编辑

#include<stdio.h>

int main(void)
{
      int f , i , j , k , n = 5                                                      ;
      char c , real_answer[] = "阿瑶666" , pwd                                  ;
      for(f = i = 0 ; i < n ; i ++) {
                for(j = 0 ; (c = getchar()) != '\n' ; j ++ , pwd = '\0') pwd = c ;
                for(k = 0 ; k < j && real_answer && pwd ; k ++)                  ;
                if(! real_answer && ! pwd) {               
                        printf("密码正确。\n")                                       ;
                        f = 1                                                          ;
                        break                                                          ;
                } else {
                        printf("密码错误\n\n")                                       ;
                }
      }
      if(! f) printf("很遗憾,%d 次机会已经用完!\n" , n)                            ;
}
      编译、运行实况
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
阿瑶666
密码正确。

D:\00.Excise\C>x
123
密码错误

aaa
密码错误

bbb
密码错误

ccc
密码错误

ddd
密码错误

很遗憾,5 次机会已经用完!

D:\00.Excise\C>
页: [1]
查看完整版本: 运行输入正确密码后,会出现两个密码不正确,随后才有密码正确