首頁>技術>

在C語言中,因為字串沒有被封裝成物件,所以直接用==、!=比較。C語言提供了一個用於字串比較的函式型別strcmp。

注意,字串和字元完全不同,因為不同的編譯器實現問題,返回值的情況也有所變化。

strncat()函式,用於兩個字串的拼接。(1)函式原型

 int  strcmp(const char *_Str1,const char *_Str2);

(2)標頭檔案

string.h

(3)功能

比較const char *_Str1,const char *_Str2所指的字串內容,並根據第一個遇到的不相等字元ASCII值差確定返回值。相等:0_Str大於_Str2:1_Str小於_Str2:-1

(4)基礎例項程式碼

	printf("%d\n",strcmp("a","a"));	printf("%d\n",strcmp("z","a"));	printf("%d\n",strcmp("a","z"));

(5)輸出情況

(6)基礎例項程式碼2:

	printf("%d\n",strcmp("aa","az"));	printf("%d\n",strcmp("az","aa"));

(7)輸出情況2:

(8)問題1:字元char可以比較嗎?回答:不可以,函式要求輸入的是一個字元陣列的首地址char*。而不是一個字元型別char。本質上,第一個是地址,第二個是一個整數型別(-128~127)

(9)問題2:返回值1,-1的取值是如何進行的回答:根據兩個字元陣列最先出現的,相同下標的不同字元對應的ASICC碼,做減法。

const char *_Str1-const char *_Str2

(10)問題3:返回值可以為32、-45、111嗎?回答:可以,有的編譯器這個函式的實現,是根據ASICC碼的差值。

9
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • java SQL查詢語句