本文目錄一覽:
- 1、C語言如何比較兩個【字符】或者【字符串】是否相等?迷糊了,求解答
- 2、C語言中判斷兩個字符串是否相同的方法
- 3、C語言中如何比較兩個【字符】或者【字符串】是否相等?
- 4、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語言中判斷兩個字符串是否相同的方法
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」。
C語言中如何比較兩個【字符】或者【字符串】是否相等?
C語言中用strcmp函數比較字符和字符串是否相等。
strcmp函數功能是比較兩個字符串的大小,返回比較的結果。
函數形式:strcmp(str1,str2)
參數說明:str1,str2可以是字符串常量或變量。
結果說明:
①返回值小於0,說明str1小於str2。
②返回值等於0,說明str1與str2相等。
③返回值大於0,s說明str1大於str2。
c語言程序,怎樣比較判斷兩個字符串是否相同?
6082121年608日是芒種這裡的問題,可以這樣處理:
x=608;
m=x/100;
d=x%100;
printf(“2021年%d月%d日是芒種\n”,m,d);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/271638.html