#include<stdio.h> #include<time.h> #include<string.h> #include<stdlib.h> int main() { int ch; ch...

#include<stdio.h>#include<time.h>#include<string.h>#include<stdlib.h>intmain(){intch;... #include<stdio.h>
#include<time.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int ch;
char ad[5];
char tb[6];
char adr[5]="admin";
char tbr[6]="TurboC";
printf("1---GUEST\n2---ADMIN\n");
scanf("%d",&ch);
switch(ch)
{
case 1:
printf("1---Login\n2---Register\n\n");
break;
case 2:
printf("\n\nPlease enter your user name and password.\n\n");
printf("user:\n");
gets(ad);
if (stricmp(ad, adr)==0)
printf("password:\n");
gets(tb);
if (stricmp(tb, tbr)==0)
printf("Login successfully!");
if (stricmp(tb, tbr)!=0)
printf("Erorr:Entered a wrong id or password!\n");
else

printf("Erorr:Entered a wrong id or password!\n");

break;
}
return 0;
}

为什么这段代码一运行就跳出?
展开
 我来答
匿名用户
推荐于2017-10-06
展开全部
你没看到结果的原因在于没有在最后加getchar();程序运行,你输入一个数字后,马上往下走,直接运行结束了,所以会一闪而过。楼上的答案简直乱扯,楼主的ch本来就是int型,不是字符。

另外你的代码中,多个if逻辑很混乱,并且,对于字符串数组,注意要多留一个空间给'\0'结束符。char adr[6] = "admin"; 这样。否则在使用字符串函数时会出错的。

我稍作修改,VC6下测试无问题,代码如下:
#include<stdio.h>
#include<time.h>
#include<string.h>
#include<stdlib.h>
int main()
{

int ch;
char ad[6];
char tb[7];
char adr[6]="admin";
char tbr[7]="TurboC";
printf("1---GUEST\n2---ADMIN\n");
scanf("%d",&ch);
getchar();
switch(ch)
{
case 1:
printf("1---Login\n2---Register\n\n");
break;
case 2:
printf("\n\nPlease enter your user name and password.\n\n");
printf("user:\n");
gets(ad);
if (stricmp(ad, adr)==0)
{
printf("password:\n");
gets(tb);
if (stricmp(tb, tbr)==0)
{
printf("Login successfully!");
}
if (stricmp(tb, tbr)!=0)
{
printf("Erorr:Entered a wrong id or password!\n");
}
}
else
{
printf("Erorr:Entered a wrong id or password!\n");
}
break;
}
getchar();
return 0;
}
Load黑白
2012-08-30 · TA获得超过101个赞
知道答主
回答量:60
采纳率:0%
帮助的人:70.3万
展开全部
case 1:

这里和下面的case 2
1和2表示的不是字符只是数字
你要是字符的话要加上单引号就是
case '1'和case '2'
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式