c语言switch字符串
‘壹’ switch 可以比对字符串吗c语言
要实现这个功能很简单,看下面的代码就可以了
#include
<stdio.h>
int
main()
{
//char
a[20];
//scanf("%s",
a);
//switch((int)a)
char
*
a;
scanf("%s",
&a);
switch((int)a)
{
case('aa'):
printf("hello
aa\n");
break;
case('bb'):
printf("hello
bb\n");
break;
default:
printf("hello
null\n");
}
return
0;
}
‘贰’ C语言中switch()小括号内可以为哪些内容
只可以是
整型
算术表达式,
其它都不符合
语法要求。
switch()小括号内
的
结果
用到
case
N:
的
N
来确定转向。
N
是整型,所以
必须要
整型
算术表达式。
字符型的量(不是字符串),可以看作整型量,例如
'A','x',所以可以用。
逻辑表达式,输出的“真”“假”实质上是1和0,用到switch()小括号内,会得到
编译
警告
错误信息,因为
不符合
语法要求,但可以正确运行。
例如:
printf("input
a,b\n");
scanf("%f
%f",&a,&b);
switch
(
a
>
b
){
case
0:
printf("a+b=%f\n",a+b);break;
case
1:
printf("a-b=%f\n",a-b);break;
default:
printf("default\n");
break;
}
switch
(
'x'+
1
){
case
0:
printf("x:
a+b=%f",a+b);break;
case
1:
printf("x:
a-b=%f",a-b);break;
default:
printf("x:
default\n");
break;
}
作为我们一般使用,就记住,只用
整型
算术表达式。
‘叁’ c语言switch后的表达式可以填什么
switch([数字][字符串]) {
case [数字][字符串]:
[表达式]; break;
.
.
.
default :break;
}
switch 语句非常基础,没有看懂你问的是什么,我只有这么些
‘肆’ C语言switch如何判断字符串箱子来段代码。
C语言中的字符串实际上是字符指针,不能用简单用switch来比较,请用
if
else,并且C语言中的字符串内容是否相等,不能用
==
或
!=
来比较,请使用
string.h
头文件中的
strcmp
函数:
char*
s1
=
"hello";
char*
s2
=
"world";
int
result
=
strcmp(s1,
s2);
说明:
若
s1
=
s2,则返回
0;
若
s1
<
s2,则返回负数;
若
s1
>
s2,则返回正数。
‘伍’ C语言中用switch函数转换一个字符串数据怎么用
1、switch函数只能对整数类型的变量进行枚举,而字符串类型不属于整型变量。因此,必须对字符串进行转化。根据不同的字符串比较结果,执行不同的操作。
2、例程:
假如有这几个固定的字符串"string1","string2",..."stringn",可以做这种变换:
char str[100]="..."//假设已经赋值了
int i=0;
char str1[]="string1",str2[]="string2",str3[]="string3";//可以任意设
if(strcmp(str,str1)==0)//比较,如果str数组中存的刚好是字符串string1,下面同理,
i=1;
else if(strcmp(str,str2)==0)
i=2;
else if(strcmp(str,str3)==0)
i=3;
else
i=4;
//这样就映射出来了,用i的值,来映射不同的str
switch(i)
{
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
case 4:
...
break;
dafault:
....
break;
}
‘陆’ c语言中switch怎么可以用字符串作条件表达式
首先: switch 语句及case 的类型 表达式必须是整数、字符或枚举量值。
超级好奇地编译了一下:
1>e:\project\stl_proc\stl_proc\stl_proc\stl_proc.cpp(86) : error C2052: “double”: 非法的 case 表达式类型
真是颠覆了我的三观。。。。 switch('0.4') 竟然没报错。。 我把下面的修复了之后, 让我们看看程序怎么处理
改成:
switch('0.4')
{
case '0': a=0;break;
case'.': a=9;break;
default:a=7;
}printf("%d",a);
运行了一下, 都走到default 分支了 。
改成:
switch('0')
{
case '0': a=0;break;
case'.': a=9;break;
default:a=7;
}printf("%d",a);
全部走到 case 0 分支了。
结论: switch 后面可以不是一个变量。
‘柒’ c语言中switch怎么可以用字符串作条件表达式
直接使用if..else..语句判断
‘捌’ C语言用switch实现从键盘输入一个字符,判断是数字还是其它
使用switch判断比较麻烦,不建议使用这种方式。 char ch; // scanf ch switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': printf("%c is a number.\n", ch); break; case 'a': case 'b': .... case 'z': printf("%c is a lower alphabet.\n",ch); break; case 'A': ... case 'Z': printf("%c is a upper alphabet.\n",ch); break; default: printf("%c is other ascII code.\n",ch); }
建议使用#include <ctype.h>中的函数
isdigit
islower
isupper
来进行判断。
‘玖’ c语言中switch语句中字符串怎么赋值
字符串一般有两种赋值方式
在定义时赋值:
char* str= "hello, world
使用strcpy(dst_str,
src_str)
赋值:
char *str1 = "hello, world";
char str2[20];
strcpy(str2, str1);
‘拾’ C语言中switch语句什么意思
Switch在C语言中是保留字,其作用是进行判断选择。switch(开关语句)常和case break default一起使用。
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果变量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。
(10)c语言switch字符串扩展阅读
switch语句规则——
switch语句非常有用,但在使用时必须谨慎。
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。