① c語言中如何比較兩個【字元】或者【字元串】是否相等
C語言中用strcmp函數比較字元和字元串是否相等。
strcmp函數功能是比較兩個字元串的大小,返回比較的結果。
函數形式:strcmp(str1,str2)
參數說明:str1,str2可以是字元串常量或變數。
結果說明:
①返回值小於0,說明str1小於str2。
②返回值等於0,說明str1與str2相等。
③返回值大於0,s說明str1大於str2。
② 在C語言中字元串的大小怎麼比較啊
1、C語言中字元是使用char來定義的,使用關系運算符(>,<,=)即可對字元進行比較。
③ 編寫一個C語言函數,比較兩個字元串的大小
#include<stdio.h>
#define
N
100
int
input(char*a,char*b)//輸入兩個字元串
{
printf("Input
the
first
information:\n");
fgets(a,N,stdin);
printf("Input
the
secend
information:\n");
fgets(b,N,stdin);
}
int
my_strcmp(char*a,char*b)//比較字元串每個字元的大小
{
while((*a!='\0')&&(*b!='\0'))
{
if(*a>*b)
{
return
0;
}
else
if(*a<*b)
{
return
1;
}
else
{
a++;
b++;
}
}
if((*a=='\0')&&(*b!='\0'))//字元串b比字元串a長
{
return
1;
}
else
if((*a!='\0')&&(*b=='\0'))//字元串a比字元串b長
{
return
0;
}
else
{
return
2;
}
}
int
main()
{
char
a[N]={0};
char
b[N]={0};
int
net2=0;
input(a,b);//調用輸入函數
net2=my_strcmp(a,b);//調用比較大小函數
if(0==net2)//輸出大小
{
printf("a>b\n");
}
else
if(1==net2)
{
printf("a<b\n");
}
else
{
printf("a=b\n");
}
return
0;
}
(3)將兩個字元串比較c語言擴展閱讀:
一、return在函數中的作用
我們如果將函數看做一個加工廠,參數就是我們向加工廠投入的原料,具體的函數功能實際上就是加工的過程,而return語句代表返回值,就是加工廠在實現加工之後給「投資人」的成品。
二、return語句的特點
1、在函數當中,遇到return語句之後就意味著函數運行的結束,在此之後的代碼是不運行的。
2、它不支持任何運算也沒有任何內建方法,和任何其他的數據類型比較是否相等時永遠返回false,也可以將None賦值給任何變數。
3、執行到return語句時,會退出函數,return之後的語句不再執行。但將return語句放在try語句塊中,是個例外。
三、return的默認值:return函數默認的返回值為undefined。
④ c語言中如何判斷兩個字元串相等
可以使用庫函數strcmp判斷,具體如下:
strcmp是C語言比較字元串的庫函數,形式為int strcmp(char *a, char *b);
該函數會對a和b的每個字元,按照ascii碼值比較,如果二者完全相同返回0;如果a的ascii碼值先出現較大者,會返回1;否則返回-1。
所以,要判斷字元串相等,可以使用。
(4)將兩個字元串比較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語言如何比較兩個【字元】或者【字元串】是否相等迷糊了,求解答
比較字元可以直接使用==比較操作符,如:
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);
⑥ c語言中比較兩個字元串的大小,應該怎麼做
一:(這個調用了 string.h 頭函數)
#include <stdio.h>
#include <string.h>
void comparision(char a[],char b[])
{
if(strcmp(a,b)>0) printf("a[40]>b[40]");
else if(strcmp(a,b)==0) printf("a[40]=b[40]");
else printf("a[40]<b[40]");
}
main(void)
{
char a[40],b[40];
gets(a);
gets(b);
comparision(a,b);
}
2:這個是普通方法 不調用函數strcmp();
#include <stdio.h>
int comparision(char a[],char b[])
{
int t,i=0;
while(a[i]!='\0'||b[i]!='\0')
{
if(a[i]==b[i]) t=0;
else if(a[i]>b[i]) t=1;
else t=-1;
if(t!=0) break;
i++;
}
return t;
}
main(void)
{
char a[40],b[40];
int k=0;
gets(a);
gets(b);
k=comparision(a,b);
if(k==1) printf("a[40]>b[40]");
else if(k==-1) printf("a[40]<b[40]");
else printf("a[40]=b[40]");
}
⑦ c語言比較兩個字元串的大小
主要是循環的次數,如果兩個字元串相同,你讓程序循環的次數是101次,已經超出了字元串的長度范圍了。
⑧ C語言怎麼比較兩個字元串大小
兩個字元串s1和s2,若s1=s2時,返回值為0;若s1不等於s2時,返回它們二者第一個不同字元的ASCII碼差值(如"BOY"與"BAD",第二個字母不同,"O"與"A"之差為79-65=14)。如果s1 > s2,則輸出正值;如果s1 < s2,則輸出負值。
答案:
#include<stdio.h>
#include<string.h>
#define N 30
void main()
{
char s1[N],s2[N];
int i,j=0;
puts("輸入字元串s1:");
gets(s1);
puts("輸入字元串s2:");
gets(s2);
for(i=0;(s1[i]!='\0')&&(s2[i]!='\0');i++)
{
j=s1[i]-s2[i];
if(j!=0)
break;
}
if((s1[i]=='\0')&&(s2[i]=='\0'))
printf("%d\n",j);
else
printf("%d\n",s1[i]-s2[i]);
}
⑨ C語言字元串比較
c語言字元串比較用
strcmp()
或
strncmp()
用unsigned
char
變數則用整型量於等於於比較
文件比較程序用自編
unix,linux
用命令
diff,
比較兩文件同比較輸內容等要求命令行設
DOS
(windows/console)
用命令
COMP
比較兩文件或文件同
與unix,linux
diff
同異
linux源碼公興趣diff程序載看我沒看源碼估計應用C寫
diff用見unix,linux
man
page
COMP用見
HELP
⑩ 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」。