用字符比較函數(shù),做個(gè)FOR循環(huán)判斷即可,
創(chuàng)新互聯(lián)是一家專業(yè)提供河池企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為河池眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
字符串比較函數(shù)strcmp
格式strcmp(a,b)=0 a=b
strcmp(a,b)0 ab
strcmp(a,b)0 ab
a,b均為字符串!
首先一個(gè)漢字占2個(gè)字節(jié),C語言一個(gè)char字符類型占1個(gè)字節(jié),也就是在程序中漢字要當(dāng)做字符串去處理。在C語言中就要用到char*指針或char[]字符數(shù)組來記錄漢字。
判斷相同,也就是字符串比較了,用string.h庫中的strcmp(s1,s2)字符串比較函數(shù)解決判斷相同問題。
示例程序:
#include?stdio.h
#include?string.h
void?main()
{
char?str1[255];
char*?str2?=?"漢字";
printf("please?enter?a?string:");
scanf("%s",?str1);
if?(strcmp(str1,?str2)?==?0)?{
//兩字符串相同
}else{
//兩字符串不同
}
}
strcmp(str1,str2)
C/C++函數(shù),比較兩個(gè)字符串
設(shè)這兩個(gè)字符串為str1,str2,
若str1==str2,則返回零;
若str1str2,則返回正數(shù);
若str1str2,則返回負(fù)數(shù)。
strcmp參考
#include "stdio.h"
#include "string.h"
main()
{
char str1[100];
char str2[100];
char a;
printf("請輸入第一個(gè)字符串,該字符串為:\n",str1);
gets(str1);
printf("請輸入第二個(gè)字符串,該字符串為:\n",str2);
gets(str2);
a=strcmp(str1,str2);
if((a==0))
printf("兩個(gè)字符串相等!\n");
else
printf("兩個(gè)字符串不等!\n");
while(1){}
}
//int strcmp(char *str1,char *str2)
C語言提供了幾個(gè)標(biāo)準(zhǔn)庫函數(shù),可以比較兩個(gè)字符串是否相同。以下是用strcmp()函數(shù)比較字符串的一個(gè)例子:
#include stdio. h
#include string. h
void main (void);
void main(void)
{
char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;
if (strcmp(str_1, str_2) == 0)
printf("str_1 is equal to str_2. \n");
else
printf("str_1 is not equal to str_2. \n");
if (strcmp(str_1, str_3) == 0)
printf("str_1 is equal to str_3.\n");
else
printf("str_1 is not equalto str_3.\n");
}
上例的打印輸出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.
strcmp()函數(shù)有兩個(gè)參數(shù),即要比較的兩個(gè)字符串。strcmp()函數(shù)對兩個(gè)字符串進(jìn)行大小寫敏感的(case-sensitiVe)和字典式的(lexicographic)比較,并返回下列值之一:
----------------------------------------------------
返 回 值 意 義
----------------------------------------------------
0 第一個(gè)字符串小于第二個(gè)字符串
0 兩個(gè)字符串相等 ·
0 第一個(gè)字符串大于第二個(gè)字符串
----------------------------------------------------
在上例中,當(dāng)比較str_1(即“abc”)和str_2(即“abc”)時(shí),strcmp()函數(shù)的返回值為0。然而,當(dāng)比較str_1(即"abc")和str_3(即"ABC")時(shí),strcmp()函數(shù)返回一個(gè)大于0的值,因?yàn)榘碅SCII順序字符串“ABC”小于“abc”。
strcmp()函數(shù)有許多變體,它們的基本功能是相同的,都是比較兩個(gè)字符串,但其它地方稍有差別。下表列出了C語言提供的與strcmp()函數(shù)類似的一些函數(shù):
-----------------------------------------------------------------
函 數(shù) 名 作 用
-----------------------------------------------------------------
strcmp() 對兩個(gè)字符串進(jìn)行大小寫敏感的比較
strcmpi() 對兩個(gè)字符串進(jìn)行大小寫不敏感的比較
stricmp() 同strcmpi()
strncmp() 對兩個(gè)字符串的一部分進(jìn)行大小寫敏感的比較
strnicmp() 對兩個(gè)字符串的一部分進(jìn)行大小寫不敏感的比較
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函數(shù)代替strcmp()函數(shù),則程序?qū)⒄J(rèn)為字符串“ABC”等于“abc”。