c語言字串相關

2022-09-13 13:45:08 字數 1372 閱讀 5346

在c語言中,有兩個函式可以在控制台(顯示器)上輸出字串,分別是:

在c語言中,有兩個函式可以讓使用者從鍵盤上輸入字串,它們分別是:

但是,scanf() 和 gets() 是有區別的:

strcat 是 string catenate 的縮寫,意思是把兩個字串拼接在一起,語法格式為:

strcat(arrayname1, arrayname2);
arrayname1、arrayname2 為需要拼接的字串。

strcat() 將把 arrayname2 連線到 arrayname1 後面,並刪除原來 arrayname1 最後的結束標誌'\0'。這意味著,arrayname1 必須足夠長,要能夠同時容納 arrayname1 和 arrayname2,否則會越界(超出範圍)。strcat() 的返回值為 arrayname1 的位址。

strcpy 是 string copy 的縮寫,意思是字串複製,也即將字串從乙個地方複製到另外乙個地方,語法格式為:

strcpy(arrayname1, arrayname2);
strcpy() 會把 arrayname2 中的字串拷貝到 arrayname1 中,字串結束標誌'\0'也一同拷貝。

strcmp 是 string compare 的縮寫,意思是字串比較,語法格式為:

strcmp(arrayname1, arrayname2);
arrayname1 和 arrayname2 是需要比較的兩個字串。

字元本身沒有大小之分,strcmp() 以各個字元對應的 ascii 碼值進行比較。strcmp() 從兩個字串的第 0 個字元開始比較,如果它們相等,就繼續比較下乙個字元,直到遇見不同的字元,或者到字串的末尾。

返回值:若 arrayname1 和 arrayname2 相同,則返回0;若 arrayname1 大於 arrayname2,則返回大於 0 的值;若 arrayname1 小於 arrayname2,則返回小於0 的值。

char a = "a";

char b = "a";

printf("a : b = %d\n", strcmp(a, b));

輸出結果為a : b = 1

對單個元素賦值

int a[3];

a[0] = 3;

a[1] = 100;

a[2] = 34;

整體賦值(不指明陣列長度)

float b = ;

整體賦值(指明陣列長度)

int a[10] = ;

字元陣列賦值

char str = "12345";

將陣列所有元素都初始化為0

int array[10] = ;

C語言字串處理相關問題

在最近翻閱 c程式設計 一書時,在6.3.7節字串陣列應用舉例中我發現了乙個值得學習的例子。題目如下 輸入一行字元,統計其中有多少個單詞,單詞之間用空格隔開 這個程式的設計思路並不難,我們對單詞的特性很清楚,只要有空格說明出現了單詞數量變化。而為了避免因為輸入不規範出現多個空格影響單詞個數判斷錯誤,...

C語言字串 字串排序

本題要求編寫程式,讀入5個字串,按由小到大的順序輸出。輸入為由空格分隔的5個非空字串,每個字串不包括空格 製表符 換行符等空白字元,長度小於80。按照以下格式輸出排序後的結果 after sorted 每行乙個字串 red yellow blue green white after sorted b...

C語言字串相關知識點

c語言字串相關知識點 1.strcpy str1,str2 str1的空間應該不小於 str2 的空間 如果不能滿足,在函式進行中可能發生越界,而導致程式崩潰 2.char ar 51 grammering club.上述定義的字串,使用函式size of ar 所測試的是字串 ar所佔空間大小,使...