c語言中用switch函式轉換字串資料怎麼用

2021-10-28 13:09:41 字數 1858 閱讀 1831

1樓:匿名使用者

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)

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的值,來對映不同的strswitch(i)

3樓:匿名使用者

我記得switch不能用來比較字串吧!!

只能針對基本資料型別使用switch,這些型別包括int、char等。希望能有其他高手幫你解答

4樓:吟遊詩人

不能用,引數只能是整型(包括字元型別、列舉)

5樓:墨夷問鮃

不能用switch的,可以按下面的**來:

char str1="string1",str2="string2",str3="string3";//......

if(strcmp(str,str1)==0)i=1;

else if(strcmp(str,str2)==0)i=2;

else if(strcmp(str,str3)==0)i=3;

else

i=4;

//這樣就對映出來了,用i的值,來對映不同的strswitch(i)

c語言switch返回函式 50

6樓:塵墨季節

如果想直接返回開頭或結束,簡單點可以可以在一個迴圈裡套一個switch。

,輸入1 ,比如說迴圈條件設為獲得變數不等於2,那麼判斷,輸入1的話就break,那麼就再接著迴圈。

如果輸入2,直接break跳出switch,並接著通過迴圈判斷條件跳出迴圈,否則就永遠迴圈下去。

望採納。

7樓:匿名使用者

定義跳轉標識

接收命令列輸入,然後根據判斷,直接goto~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~