C語言:比較兩個字串是否相等
阿新 • • 發佈:2018-12-11
1) 使用strcmp進行比較
下面通過一個例子進行演示:
#include <stdio.h>
#include <string.h>
int main(void)
{
char* str1 = "abc";
char* str2 = "abc";
if (strcmp(str1, str2) == 0) {
printf("str1和str2相同!\n");
}
else {
printf("str1和str2不相同!\n");
}
return 0;
}
講解上面的程式:
定義了一個char(字元型)的指標變數str1,並且初始化為 "abc"
定義了一個char(字元型)的指標變數str2,並且初始化為 "abc"
通過strcmp進行比較兩個字串是否相同,如果相同返回0(詳細見strcmp百度百科)
2) strcmp的實現
int __cdecl strcmp (const char *src, const char *dst) { int ret = 0 ; while(!(ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst) { ++src; ++dst; } if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; return( ret ); }