字串函式的應用及做題總結

雨過天晴不放棄發表於2020-12-13

一、字串函式

1、gets函式—輸入字串的函式

其作用是從終端輸入一個字串得到字元陣列,並且得到一個函式值。(gets函式和scanf函式的區別為:scanf遇到空格便停止輸入,而gets函式則不會。)

2、puts函式—輸出字串函式

其作用是將一個字串(以’\0’結束的字元序列)輸出到終端。用puts函式可以包含轉義文字元
在這裡插入圖片描述
在用puts輸出時將字串結束標誌’\0’轉換成’\n’,即輸出完字串後換行(注意:puts函式與gets函式只能輸入輸出一個字串

3、strcat函式—字串連線函式

格式為strcat(字元陣列1,字元陣列2);其作用是把兩個字元陣列中的字串連線起來在這裡插入圖片描述
4、strcpy和strncpy函式—字串複製函式

一般形式為strcpy(字元陣列1,字串2),作用是將字串陣列2複製到字串陣列1中。(字串2可以是字元陣列名,也可以是一個字串常量。
在這裡插入圖片描述
注:字串陣列1需足夠大,以便容納被複制的字串2

可以使用strncpy函式將字串陣列的前兩個字元複製到陣列一中,形式為strncpy(str1,str2,2)

5、strcmp函式—字串比較函式

一般形式為strcmp(字串1,字串2)
在這裡插入圖片描述
字串的比較規則是:將兩個字串從左至右逐個字元相比較,且比較的結果由函式值帶回。

(1)、字串1=字串2,函式值為0;

(2)、字串1>字串2,函式值為正數;

(3)、字串1<字串2,函式值為負數。

6、strlen函式—測字串長度的函式
一般形式為strlen(字元陣列)
在這裡插入圖片描述
7、strlwr函式—轉換為小寫的函式與strupr函式—轉換大寫的函式在這裡插入圖片描述
以上的字串函式,其函式庫並非C語言本身的組成部分,使用時需注意

二、做題的總結

1、陣列初始換問題
(1)、全域性和靜態陣列都按語言規範問題要求被初始化為0

(2)、當區域性陣列定義時,沒有用列表對其初始化,那麼陣列元素的值是不可預料的。對於此類問題的理解可做洛谷p2141題

2、陣列大小的問題

陣列開的過大,可能導致無法輸入的問題,陣列過小會導致越界,在定義陣列大小需仔細審閱題目

3、陣列下標問題

陣列的下標預設是從0開始的,在進行迴圈時即使定義下標從1開始,陣列的首元素會被預設為0,對於此問題的理解可嘗試洛谷p1200
在這裡插入圖片描述
這樣寫會導致輸出的值為負數

相關文章