函數strcmp()是一個內建函式庫函數,它在「string.h」頭檔中宣告。該函數用於比較字串參數。它按字典順序比較字串,這意味著它逐個字元地比較兩個字串。它開始比較字串的第一個字符,直到兩個字串的字元相等或找到NULL 字元。
如果兩個字串的第一個字元相等,則檢查第二個字符,依此類推。這個過程會一直持續下去,直到找到NULL字元或兩個字元不相等。
這裡是C語言中strcmp()的語法,
int strcmp(const char *leftStr, const char *rightStr );
這個函數傳回以下三個不同的值
1.Zero(0) - 如果兩個字串相同,則傳回零。兩個字串中的所有字元都相同。
這裡是C 語言中兩個字串相等時strcmp() 的範例,
Live Demo
#include<stdio.h> #include<string.h> int main() { char str1[] = "Tom!"; char str2[] = "Tom!"; int result = strcmp(str1, str2); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
Strings are equal Value returned by strcmp() is: 0
2.大於零(>0) -當左字串的匹配字元的ASCII值大於右字串的字元時,它會傳回一個大於零
這裡是C語言中strcmp()傳回大於零值的一個例子,
線上示範
#include<stdio.h> #include<string.h> int main() { char str1[] = "hello World!"; char str2[] = "Hello World!"; int result = strcmp(str1, str2); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
Strings are unequal Value returned by strcmp() is: 32
3.小於零(<0) −當左字串的匹配字元的ASCII值小於右字串的字元時,它會傳回一個小於零的值。
以下是C語言中strcmp()的一個例子
線上示範
#include<stdio.h> #include<string.h> int main() { char leftStr[] = "Hello World!"; char rightStr[] = "hello World!"; int result = strcmp(leftStr, rightStr); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
Strings are unequal Value returned by strcmp() is: -32
以上是在C/C++中,strcmp()函數用於比較兩個字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!