C语言中switch中case出错了,有什么好的解决思路?
#include<stdio.h>
int main()
{
char bq;
printf("请在输入你要查询的html标签\n");
printf("注意:无需键入<>\\\n");
scanf("%s", &bq);
switch (bq)
{
case "html":
{
printf("ni");
break;
}
case "head":
{
printf("hao");
break;
}
default:
printf("jjjj");
}
return 0;
}
case "html":显示错误,如何改?
[解决办法]
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型
而且你的 bp也没有分配足够的空间纳!
修改一下
#include <stdio.h>
#define HTML 1
#define HEAD 2
int main()
{
int bq;
printf("请在输入你要查询的html标签\n");
printf("注意:无需键入<>\\\n");
scanf("%d", &bq);
switch (bq)
{
case 1:
{
printf("ni");
break;
}
case 2:
{
printf("hao");
break;
}
default:
printf("jjjj");
break;
}
return 0;
}
[解决办法]
#include<string.h>
#include<stdio.h>
int main()
{
char bq[32];
printf("请在输入你要查询的html标签\n");
printf("注意:无需键入<>\\\n");
scanf("%s", bq);
if(strcmp(bq,"html")==0)
{
printf("ni");
}
else if(strcmp(bq,"head")==0)
{
printf("hao");
}
else
{
printf("jjjj");
}
return 0;
}