1.比較是否有等字元?
方法:開闢乙個陣列,大的陣列空間,以ascii碼為索引,設定陣列值,每次設定前判斷是否已設定,如果是,說明有相等的,且知道是哪個字母相同。字母的ascii碼最大為122,所以陣列空間至少122個。
用例:無論是比較同乙個字串或字元陣列中是否有相同的字元,還是對比兩個字串之間是否有相同字元,都可參靠此方法;
實現:
bool isallcharunique(char *s)
; int val = 0;
while(val = *s++)//1.賦值操作本身有返回值,返回賦值本身,這也是為什麼賦值運算可以連續操作即a=b=c;2.字串最後有null
return true;
}
注意:1.字串結束符的使用;2.賦值運算返回值的使用;3.使用被判定字元ascii碼作為索引開闢陣列記錄字元出現的情況,是用空間換時間,較少了時間複雜度
2.將乙個字串顛倒順序?
方法:使用連個指標,分別指向字串頭和尾,使用中間變數倒換,直至頭指標的值不在小於尾指標的值;
實現:
void reverse(char *s)
}}
注意:此處實參傳入的是字元陣列名,還是初始化為指向字串的指標,會帶來不同問題,後者會報錯!(忽然想到,我這裡所說的「初始化為指向字串的指標」做實參報錯,是因為它是字串常量的指標,其內容是不允許被改變的!!!)
……(待續)
C語言基礎學習筆記
1.變數,變數的輸出 include int main 字串佔位符是 s,指標佔位符為 zd,指標的長度都為8位。p是位址佔位符,int陣列之間位址差值為4 2.風格 printf 積分等級 c n score 逗號後面跟空格。3.乙個漢字是3個位元組,乙個位元組佔8位。4.陣列 include i...
C語言基礎學習(3)
一 二維陣列 a表示陣列位址,單位為乙個陣列 a i j 取i行第j列元素的位址 a 陣列首行位址,單位是行 a 陣列的位址,單位是陣列 a i 陣列第i行首元素的位址 a i 陣列第i行位址 二 字元陣列 include include int main strcpy c,b printf s n...
C語言基礎入門學習
c語言學習 c語言思想 程式 計算機可以識別和執行的指令。程式 資料結構 演算法 編碼 將已經設計好的演算法用計算機語言表示出來。結構化程式設計方法 自頂向下,逐步細化,模組化設計,結構化編碼。c語言基礎 符號常量 用大寫表示,不占用記憶體,故不能賦以新值。define pi 3.14 預編譯指令,...