首先我想說的是,很多人看到這個標題是不是就會立即聯想到這個標題很可能是偽命題。但是先別急著下結論,首先來看看我是怎麼理解的。因為c語言中switch裡面很難放進字串,所以才聯想到要發表一篇這個文章來搶先吃c語言的螃蟹。
#define toasc(c) (((unsigned char)(c))&0x7f)
//上面的方法只能放進去乙個char字元,並不能把char字元組全部轉換成int
//下面的方法是上面的反方法,將ascii碼也就int型別轉換成單字元的方法
unsigned
char
* cc =
(unsigned
char*)
100;
//此時cc是'd',小寫字母d
//將char字符集轉換成數字
intfrom_str
(const
char
*s)//逆向數字變回字符集的方法
static
char ascii[97]
=" !\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz~"
;char
*to_str
(int i)
w[--z]
=ascii[b];if
(z>0)
return w;
}//判斷的時候case裡面用單引號,那樣字元就會是ascii碼,也就int型別。
char c[5]
;scanf
("%s"
,&c)
;switch
(from_str
(c))
//這樣就完美解決了switch結構放不進字串變數的問題
單引號中最多只能容納4個,再多了就會出現字串常量過大的問題。
C語言判斷字串包含
1.使用庫函式 string.h strstr函式 函式名 strstr 功 能 在串中查詢指定字串的第一次出現 用 法 char strstr char str1,char str2 strchr 對比記憶這是查詢字元的。說明 返回指向第一次出現str2位置的指標,如果沒找到則返回null。呼叫函...
C語言程式設計 C語言 判斷字串內容
判斷字串開頭是不是回車換行 n 或 r 如果不是返回0,如果是,返回有幾個這樣的字元。int isnewline char acstr return isize 判斷字串是不是空白字元 小於 大於 0 的字元 如果不是返回0,如果是,返回有幾個這樣的字元。int isspace char acstr...
C語言 3 字串
字元陣列 char 看做乙個特殊的字元陣列,在字串結束為止新增 0 結束符 ascii碼0 沒有 0結尾的是普通的字元陣列。使用雙引號定義的字串自動在尾部加上 0 puts s 函式 輸出記憶體直至遇到 0 陣列變數名代表了陣列位址,例如char s 20 s就是陣列位址,不用 s gets s 函...