本人今天写了一个登陆的小程序,
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(" 恭喜进入系统"); } }
while里要有一个跳出的语句,代码中C始终为Y会一直循环
调试一下不就知道了么?调试一下又不会怀孕
while下面应该加一句getchar()接受多余的回车符。然后你这个是个死循环吧。
可以试试fflush(stdin) 另外,毫无疑问这是死循环