在C語(yǔ)言中,比較字符數(shù)組通常是通過(guò)比較它們所指向的字符串的內(nèi)容來(lái)完成的。你可以使用 strcmp
函數(shù)來(lái)實(shí)現(xiàn)這一點(diǎn)。strcmp
是C標(biāo)準(zhǔn)庫(kù) <string.h>
中的一個(gè)函數(shù),其原型如下:
int strcmp(const char *s1, const char *s2);
這個(gè)函數(shù)比較兩個(gè)以空字符(null terminator)結(jié)尾的字符串 s1
和 s2
,并返回以下值:
s1
和 s2
相等,則返回0。s1
在字典順序上位于 s2
之前,則返回一個(gè)負(fù)數(shù)。s1
在字典順序上位于 s2
之后,則返回一個(gè)正數(shù)。下面是一個(gè)簡(jiǎn)單的示例,展示了如何使用 strcmp
來(lái)比較兩個(gè)字符數(shù)組:
#include <stdio.h>
#include <string.h>
int main() {
char array1[] = "hello";
char array2[] = "world";
char array3[] = "hello";
int result1 = strcmp(array1, array2);
int result2 = strcmp(array1, array3);
if (result1 < 0) {
printf("array1 is less than array2\n");
} else if (result1 > 0) {
printf("array1 is greater than array2\n");
} else {
printf("array1 is equal to array2\n");
}
if (result2 == 0) {
printf("array1 is equal to array3\n");
} else {
printf("array1 is not equal to array3\n");
}
return 0;
}
這段代碼首先定義了三個(gè)字符數(shù)組,然后使用 strcmp
來(lái)比較它們。輸出結(jié)果將顯示 array1
和 array2
以及 array1
和 array3
之間的關(guān)系。