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具有相同的值。