首页 新闻 会员 周边

C语言不遵循顺序输入输出

0
悬赏园豆:20 [待解决问题]

本人今天写了一个登陆的小程序,

char a[20];

char b[20];

printf(“用户”);gets(a);

printf(“密码‘);gets(b);

结果连续输出 用户和密码 代码如下

//制作登陆界面,完成密码的对比。输入n退出,y继续。使用函数 ,主函数只有一句话启动
#include <stdio.h>
#include <string.h>
void login();
void main()
{   
    login();
}
void login()
{           char a[100];
            char b[100];
            char c;
            char* password="123";
            char* yonghu="liu";
            printf("输入n 退出,输入y继续使用函数");
            scanf("%c",&c);
            if(c=='n')
                
                {
            printf("退出系统");

                }
            while(c=='y')
                {   printf("用户");
                    gets(a);
                    
                    printf("密码");
                    gets(b);
                    if(strcmp(a,*yonghu)==0&&strcmp(b,*password)==0)
                    printf("  恭喜进入系统");
            }
            
            
}
云,不忘初心的主页 云,不忘初心 | 初学一级 | 园豆:182
提问于:2013-10-27 08:11
< >
分享
所有回答(4)
0

while里要有一个跳出的语句,代码中C始终为Y会一直循环

Zery | 园豆:6151 (大侠五级) | 2013-10-27 09:50
0

调试一下不就知道了么?调试一下又不会怀孕

田林九村 | 园豆:2367 (老鸟四级) | 2013-10-27 11:10
0

while下面应该加一句getchar()接受多余的回车符。然后你这个是个死循环吧。

幻天芒 | 园豆:37175 (高人七级) | 2013-10-27 12:05
0

可以试试fflush(stdin)           另外,毫无疑问这是死循环

Affinity | 园豆:202 (菜鸟二级) | 2013-10-28 00:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册