當前位置:首頁 » 編程語言 » c語言比較字元串a和b
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言比較字元串a和b

發布時間: 2023-05-24 02:51:45

c語言中判斷字元串a>b,應當使用

選C

strcmp是比較兩個字元串的大小,兩個字元串相同時返回0,第一個字元串大於第二個字元串時返回一個正值,否則返回負值.
比較兩個字元串的演算法是:逐個比茄團攜念較兩個串中對應的字元,字元大小顫隱橘按照ASCII碼值確定,從左向右比較,如果遇到不同字元,所遇第一對不同字元的大小關系就確定了兩個字元串的大小關系,如果未遇到不同字元而某個字元串首先結束,那麼這個字元串是較小的,否則兩個字元串相等。

❷ 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語言判斷字元串a和b是否相等應該用

你都說了是字元串
第一,==比較的是字元串的地址,而不是錯在==
第二,strcmp返回值有三納逗蠢種情況(大於、洞陪小於、等於),既然你指雹要的是相等,當然要非一下

❹ 如何用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中的兩個字元串是否相等(比較對應字元,全部相同輸出0,如果不同,返

#include<stdio.h>
int compare(char a[100],char b[100])//定義一個比較兩個字元串函數a[100], b[100]分別是形參
{
int i,j;
for(i=0;a[i]!='\0'||b[i]!='\0';i++)
if(a[i]!=b[i])
{
j=(a[i]-'0')-(b[i]-'0');
return(j);
}
return(0);
}
void main()
{
char a[100]="手升Hello World!"悉談;
char b[100]="Hello Cheng!";
int m;
m=compare(a,b);//調用compare函數,a,b是實參
printf("%d\n"睜薯碰,m);//這步實際沒必要,只是為了在主函數中知道結果而已
}

❻ c語言判斷字元串a和b是否相等應該用

用庫函數strcmp
當相等的時候 會返回0
於是是
strcmp(a,b)==0

❼ c語言中字元串怎麼進行比較大小

您好,我是軟體之家的♂北極熊熊,很高興為您解答。
c語言字元串的比較規則就是按兩個字元串從頭開始比較字元的ascii碼大小
比如"abc">"aacvs",和長度沒關系
從第一個字元開始比,如果字元串a的字元>字元串b的字元,則a>b
如果相同,就一直往後比
如滿意,謝謝五星採納~~~~~

❽ c語言用關系表達式比較兩數大小

字元串的比較不能用關系表達式,因為關系表達式比較的是內存中數值的大小,如果字元串a和字元串b用關系表達式a<
b比較,比較的是a和b字元串第一個元素的,地址的大小,因為數組名即為第一個元素的地址。所以只能夠用strcmp,或者自己寫一個比較的函數。
sizeof()用於求類型的大小,是一個關鍵字,如sizeof(int),表示求int
類型所佔內存的大小。

❾ C語言: 定義一個宏,比較a、b的大小,不要用大於、小於和IF運算符

代碼如下:

#include "stdio.h"

void main()

{

float a, b ,c;

printf ("請輸入三個數,會為你從大到小排列! ");

scanf("%f %f %f",&a,&b,&c);

if(a>b>c){printf("%f,%f,%f",a,b,c);}

else if(a>c&&c>b){printf("%f,%f,%f",a,c,b);}

else if(b>a&&a>c){printf("%f,%f,%f",b,a,c);}

else if(b>c&&c>a){printf("%f,%f,%f",b,c,a);}

else if(c>b&&b>a){printf("%f,%f,%f",c,b,a);}

else if(c>a&&a>b){printf("%f,%f,%f",c,a,b);}

//編譯器不識別三個連續的符號運算,必須用且(&&)和或(||)he否(!)

}

(9)c語言比較字元串a和b擴展閱讀

C語言中宏定義的優點

方便程序的修改

使用簡單宏定義可用宏代替一個在程序中經常使用的常量,這樣在將該常量改變時,不用對整個程序進行修改,只修改宏定義的字元串即可,而且當常量比較長時, 可以用較短的有意義的標識符來寫程序,這樣更方便一些。

相對於==全局變數==兩者的區別如下:

1、宏定義在編譯期間即會使用並替換,而全局變數要到運行時才可以。

2、宏定義的只是一段字元,在編譯的時候被替換到引用的位置。在運行中是沒有宏定義的概念的。而變數在運行時要為其分配內存。

3、宏定義不可以被賦值,即其值一旦定義不可修改,而變數在運行過程中可以被修改。

4、宏定義只有在定義所在文件,或引用所在文件的其它文件中使用。 而全局變數可以在工程所有文件中使用,只要再使用前加一個聲明就可以了。換句話說,宏定義不需要extern。

❿ strcmp(a,b) c語言 比較字元串的大小!

這個函數用以比較a b兩個字元串的大小,先比兩個字元串第一個孝衡棗字元的大小,若相等則巧拆比較第二個,以此類推,直到比出較大的那個。若兩者相等,則表達式的值攔歷為零,若a大於b,則值為正,否則為負。