當前位置:首頁 » 編程語言 » c語言比較字元串是否相等

c語言比較字元串是否相等

發布時間: 2022-06-14 02:57:46

『壹』 c語言中如何比較兩個【字元】或者【字元串】是否相等

C語言中用strcmp函數比較字元和字元串是否相等。

strcmp函數功能是比較兩個字元串的大小,返回比較的結果。

函數形式:strcmp(str1,str2)

參數說明:str1,str2可以是字元串常量或變數。

結果說明:

①返回值小於0,說明str1小於str2。

②返回值等於0,說明str1與str2相等。

③返回值大於0,s說明str1大於str2。

『貳』 C語言比較兩個字元串相等的問題,請人詳細講解

C語言字元串是一系列字元,也就是char類型排列而成的。
一個字元是char類型,一系列字元如何表示?用他們的第一個字元的地址表示,因為字元串在地址上也是連續排列的。
並且用\0,在物理上是一個位元組的全0位,來表示字元串結束。
所以"abcde",空間上是'a'
'b'
'c'
'd'
'e'
'\0'
strcmp的參數都是char*,也就是指向字元的指針,原理是從兩個指針指向的地址開始對比,直到其中一個\0為止。判斷相等與否。實現上是每個字元相減。
單純的==,比較的是字元串手地址是否相等,這樣比較,不但比較不了兩個字元串相等與否,而且要想相等,還必須兩個字元串指向同一個地址。

『叄』 c語言中怎樣判斷兩字元相等

通過==方式進行判斷,==是比較,可以比較字元,數字值等等。

舉例:

chars1='c';//定義一個字元變數s1,內容是c
chars2='d';//定義一個字元變數s2,內容是d
if(s1==s2){//通過==判斷是否相同
//相等
}

『肆』 C語言如何比較字元串相等

字元串的比較是逐個比較的,字元串最後一位為「\0」,while循環完,指針均指向字元串尾部,if()判斷為真,說明是2個相等的字元串,返回1,不相等返回0;scanf()是要存放的變數的地址,這個是有標準的;c是比較底層的,可以讓我們詳細知道函數的運作,不比其它語言,只知道怎麼用便可

『伍』 C語言怎麼比較兩個字元串相等

比較字元可以直接使用==比較操作符,如:
char c1='a',c2='b';
if(c1==c2) printf("%c is same as %c.",c1,c2);
else printf("%c is different to %c",c1,c2);

若是字元串,則需要使用字元串函數了,strcmp
char s1[]="abc",s2[]="xyz";
if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);
也可以忽略大小寫來比較,使用函數stricmp 中間的i意思是ignore case sensitive
還可以指定長度比較,strncmp,如:
char s1[]="abc",s2[]="abcdefg";
if(strncmp(s1,s2,3)==0) printf("first 3 characters are same");
若不是從開頭位置開始比較,如:
char s1[]="abc",s2[]="xyzabc"
if(strncmp(s1,&s2[3],3)==0) 就是比較s1和s2的第3個字元開始的內容

『陸』 c語言怎麼判斷兩個字元串是否一樣

可以使用strcmp函數,其包含在string.h中。

  1. 原型:extern int strcmp(char *s1,char * s2);

  2. 用法:#include <string.h>

  3. 功能:比較字元串s1和s2

  4. 說明:當s1<s2時,返回值<0;當s1=s2時,返回值=0;當s1>s2時,返回值>0

也可以自己編寫一個函數。

#include<stdio.h>
#include<string.h>

intmain(){
char*s1A="abc",*s1B="abc";
char*s2A="abcd",*s2B="abcde";

puts("使用strcmp函數");
printf("s1A=%s、s1B=%s ",s1A,s1B);
if(strcmp(s1A,s1B)==0)
printf("s1A與s1B相同! ");
else
printf("s1A與s1B不同! ");
putchar(' ');

printf("s2A=%s、s2B=%s ",s2A,s2B);
if(strcmp(s2A,s2B)==0)
printf("s2A與s2B相同! ");
else
printf("s2A與s2B不同! ");
putchar(' ');

puts("使用自定義strCompar函數");
printf("s1A=%s、s1B=%s ",s1A,s1B);
if(strCompar(s1A,s1B)==1)
printf("s1A與s1B相同! ");
else
printf("s1A與s1B不同! ");
putchar(' ');

printf("s2A=%s、s2B=%s ",s2A,s2B);
if(strCompar(s2A,s2B)==1)
printf("s2A與s2B相同! ");
else
printf("s2A與s2B不同! ");
putchar(' ');

return0;
}

/*兩字元串相同返回1;不同返回0*/
intstrCompar(char*s1,char*s2){
while(*s1||*s2){
if(*s1++!=*s2++)
return0;
}
return1;
}

運行結果

『柒』 如何判斷字元串是否相等

可以使用庫函數strcmp判斷:strcmp是C語言比較字元串的庫函數,形式為int strcmp(char *a, char *b);該函數會對a和b的每個字元,按照ascii碼值比較,如果二者完全相同返回0;如果a的ascii碼值先出現較大者,會返回1;否則返回-1。所以,要判斷字元串相等,可以使用。

"); else printf("str_1 is not equal to str_2.

"); if (strcmp(str_1, str_3) == 0) printf("str_1 is equal to str_3.

"); else printf("str_1 is not equalto str_3.

");} 上例的列印輸出如下所示: str_1 is equal to str_2. str_1 is not equal to str_3. strcmp()函數有兩個參數,即要比較的兩個字元串。strcmp()函數對兩個字元串進行大小寫敏感的(case-sensitiVe)和字典式的(lexicographic)比較,並返回下列值之一。

串接子串

「串接」是 Σ* 上的重要二元運算。對於 Σ* 中的兩個字元串 s 和 t,它們的串接被定義為在 s 中的字元序列之後跟隨著 t 中的字元序列,並被指示為 st。例如,Σ = {a, b, …, z},並且 s = bear 且 t = hug,則 st = bearhug 而 ts = hugbear。

字元串串接是結合性的,但非交換性運算。空串充當單位;對於任何字元串 s,有 εs = sε = s。所以,集合 Σ* 和串接運算形成了幺半群,就是從 Σ 生成的自由幺半群。此外,長度函數定義從 Σ* 到非負整數的幺半群同態。

以上內容參考:網路-字元串

『捌』 C++中判斷兩個字元串是否相等,怎麼判斷

可以使用庫函數strcmp判斷,具體如下:

strcmp是C語言比較字元串的庫函數,形式為int strcmp(char *a, char *b);

該函數會對a和b的每個字元,按照ascii碼值比較,如果二者完全相同返回0;如果a的ascii碼值先出現較大者,會返回1;否則返回-1。

所以,要判斷字元串相等,可以使用。

(8)c語言比較字元串是否相等擴展閱讀:

關於上述strcmp()函數比較字元串的例子

#include <stdio.h>

#include <string.h>

int 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. ");

else

printf("str_1 is not equal to str_2. ");

if (strcmp(str_1, str_3) == 0)

printf("str_1 is equal to str_3. ");

else

printf("str_1 is not equal to str_3. ");

return 0;

}

參考資料來源:字元串-網路

『玖』 C語言中如何判斷字元串相等

可以使用庫函數strcmp判斷,具體如下:
strcmp是C語言比較字元串的庫函數,形式為int
strcmp(char
*a,
char
*b);
該函數會對a和b的每個字元,按照ascii碼值比較,如果二者完全相同返回0;如果a的ascii碼值先出現較大者,會返回1;否則返回-1。
所以,要判斷字元串相等,可以使用。
(9)c語言比較字元串是否相等擴展閱讀:
關於上述strcmp()函數比較字元串的例子
#include

#include

int
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
equal
to
str_3.\n");
return
0;
}
參考資料來源:字元串-網路

『拾』 C語言中判斷兩個字元串是否相同的方法有哪些

C語言提供了幾個標准庫函數,可以比較兩個字元串是否相同。以下是用strcmp()函數比較字元串的一個例子:

#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()函數有兩個參數,即要比較的兩個字元串。strcmp()函數對兩個字元串進行大小寫敏感的(case-sensitiVe)和字典式的(lexicographic)比較,並返回下列值之一:
----------------------------------------------------
返 回 值 意 義
----------------------------------------------------
<0 第一個字元串小於第二個字元串
0 兩個字元串相等 ·
>0 第一個字元串大於第二個字元串
----------------------------------------------------
在上例中,當比較str_1(即「abc」)和str_2(即「abc」)時,strcmp()函數的返回值為0。然而,當比較str_1(即"abc")和str_3(即"ABC")時,strcmp()函數返回一個大於0的值,因為按ASCII順序字元串「ABC」小於「abc」。
strcmp()函數有許多變體,它們的基本功能是相同的,都是比較兩個字元串,但其它地方稍有差別。下表列出了C語言提供的與strcmp()函數類似的一些函數:
-----------------------------------------------------------------
函 數 名 作 用
-----------------------------------------------------------------
strcmp() 對兩個字元串進行大小寫敏感的比較
strcmpi() 對兩個字元串進行大小寫不敏感的比較
stricmp() 同strcmpi()
strncmp() 對兩個字元串的一部分進行大小寫敏感的比較
strnicmp() 對兩個字元串的一部分進行大小寫不敏感的比較
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函數代替strcmp()函數,則程序將認為字元串「ABC」等於「abc」。

熱點內容
兩驅車買哪個配置最好 發布:2024-05-03 04:41:42 瀏覽:802
如何給伺服器上傳文件 發布:2024-05-03 04:28:47 瀏覽:708
android仿微信底部菜單 發布:2024-05-03 04:09:34 瀏覽:695
LOL腳本識別 發布:2024-05-03 03:53:14 瀏覽:793
祁東福祥惠民卡初始密碼多少 發布:2024-05-03 03:36:02 瀏覽:247
王者什麼東西需要二級密碼 發布:2024-05-03 03:26:11 瀏覽:766
網頁界面升級訪問 發布:2024-05-03 03:26:06 瀏覽:210
安卓區怎麼更改充電提示音 發布:2024-05-03 03:23:56 瀏覽:48
遺傳演算法圖像分割 發布:2024-05-03 03:16:27 瀏覽:801
外圓圓弧怎麼編程 發布:2024-05-03 03:13:59 瀏覽:213