當前位置:首頁 » 編程語言 » c語言將兩個字元串做比較
擴展閱讀
用c語言列印自己姓氏 2022-08-12 22:33:05
冒險島修改密碼什麼意思 2022-08-12 22:31:45

c語言將兩個字元串做比較

發布時間: 2022-06-26 23:26:38

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函數比較字元和字元串是否相等。

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

函數形式:strcmp(str1,str2)

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

結果說明:

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

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

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

③ 如何用C語言編寫一程序,實現對兩個字元串進行比較,然後輸出兩個字元串中第一個不同字元的ASCII碼之差

聲明兩個char型數組,輸入兩個字元串存入a和b。用一個for循環依次比較a和b對應的字元,不同時結束比較,然後計算這兩個不同字元的差值輸出。代碼如下:

#include"stdio.h"
intmain(intargc,char*argv[]){
chara[101],b[101],i;
printf("Input2strings... ");
scanf("%100s%100s",a,b);//輸入字元串並限制長度
for(i=0;a[i]==b[i]&&(b[i]||a[i]);i++);//比較到不同字元或結束符
a[i]?printf(" '%c'",a[i]):printf(" '\0'");//輸出a串與b串不同的字元
b[i]?printf("-'%c'",b[i]):printf("-'\0'");//輸出-b串與a串不同的字元
printf("=%d ",a[i]-b[i]);//輸出a串與b串第一個不同字元的差值
return0;
}

運行樣例如下:

④ C語言 比較 倆個字元串

汗,用得著那樣么。。。。。。
直接輸入一個a、b就行了。。。。。。
而且for循環沒有加「{}」吧。。。。。。
列印出的有三種情況:(ascll碼比較)
1、a>b的話輸出大於0的數
2、a=b的話輸出0
3、a<b的話輸出小於0的數
我只會用c++,不知道其區別,可能是這樣吧。
順便說一下,字元串組不是10個字元串,而是一個長為10的字元串!

⑤ C語言中,兩個字元串可以用關系運算符進行大小比較嗎!!!求大神!求解析!

C語言字元串比較不能直接用關系運算符進行正確比較。
可以用 字元串比較函數strcmp
格式: strcmp(字元數組名1,字元數組名2)
功能:按照ASCII碼順序比較兩個數組中的字元串,並由函數返回值返回比較結果。
字元串1=字元串2,返回值=0;
字元串2〉字元串2,返回值〉0;
字元串1〈字元串2,返回值〈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]");
}