求大神看一下,为什么开头的do——while循环那么诡异,循环的出不来??

#include<stdio.h>

#include<windows.h>

#include<string.h>

int kaishi();

int huanying ()

{

system("color a6");


printf("                            随时随地发现新鲜事                                  ");


}

main()

{   char  xm[20],xm1[20];

int mm,mm1;

int a1;

     int n=1;

huanying();

Sleep(2000);

system("cls");

do{ 

a1=kaishi();

switch(a1)

{

case 1:system("cls");

printf("请输入账号:\n\n");scanf("%s",&xm1);

printf("请输入密码:\n\n");scanf("%d",&mm1);

if(strcmp(xm1,xm)==0&&mm==mm1)

{

printf("登陆成功\n\n");

Sleep(500);

system("cls");

}

else 

{

printf("登陆失败:\n");

Sleep(500);

system("cls");

kaishi();

}

case 2: system("cls");

            printf("请输入账号\n\n\n");scanf("%s",&xm);

   printf("请输入密码\n\n\n");scanf("%d",&mm); 

printf("注册成功\n\n");

Sleep(500);

system("cls");

kaishi();

case 3:system("cls");n=0;break;

default:break;

}


 }

while(n);  




 int kaishi()

 {

  int i;


printf("¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥你的微博你创造¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n");

printf("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\n");

printf("………………………………………1 用户登录……………………………………………………\n");

printf("********************************************************************************\n");

printf("………………………………………2 用户注册……………………………………………………\n"); 

printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");

printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3 退出!!!!!!!!!!!!!!!!!!!!!\n"); 

      scanf("%d",&i);

      return i;

 }


qq_葬疯_0
浏览 1262回答 1
1回答

木柘

好像n是非零吧,不一直循环吗?还有现在的主函数一般写返回整型,你的sleep写2000程序得运行多长时间,函数的命名别用拼音感觉怪怪的。
打开App,查看更多内容
随时随地看视频慕课网APP