c語(yǔ)言實(shí)現(xiàn)字符串比較函數(shù) c語(yǔ)言中字符串比較

如何用C語(yǔ)言編寫一程序,實(shí)現(xiàn)對(duì)兩個(gè)字符串進(jìn)行比較,然后輸出兩個(gè)字符串中第一個(gè)不同字符的ASCII碼之差

1、首先比較字符串的大小,我們可以直接用比較符號(hào)來(lái)比較就行了,比如大于符號(hào)。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、南靖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為南靖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

2、運(yùn)行后,得到結(jié)果,因?yàn)?abc'這個(gè)字符串是小于‘cde’這個(gè)字符串的,所以結(jié)果顯示為false是對(duì)的。

3、除了用大于來(lái)比較,我們還可以用等號(hào)來(lái)比較,這也是經(jīng)常用來(lái)比較字符串的符號(hào),比如比較輸入密碼和數(shù)據(jù)庫(kù)的密碼是否相等。

4、運(yùn)行結(jié)果是false,很顯示,我們比較的二個(gè)字符串是不相等的。

5、函數(shù)是按字節(jié)來(lái)比較的,是比較安全的比較函數(shù),其接受二個(gè)參數(shù),當(dāng)參數(shù)1比參數(shù)2小時(shí),返回的結(jié)果小于0,當(dāng)參數(shù)1比較參數(shù)2大時(shí),返回大于0的結(jié)果,當(dāng)二者相等,則返回0。

6、運(yùn)行結(jié)果,二個(gè)比較都返回小于0的數(shù)字。

編寫一個(gè)C語(yǔ)言函數(shù),比較兩個(gè)字符串的大小

#includestdio.h

#define

N

100

int

input(char*a,char*b)//輸入兩個(gè)字符串

{

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)//比較字符串每個(gè)字符的大小

{

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(chǎn)長(zhǎng)

{

return

1;

}

else

if((*a!='\0')(*b=='\0'))//字符串a(chǎn)比字符串b長(zhǎng)

{

return

0;

}

else

{

return

2;

}

}

int

main()

{

char

a[N]={0};

char

b[N]={0};

int

net2=0;

input(a,b);//調(diào)用輸入函數(shù)

net2=my_strcmp(a,b);//調(diào)用比較大小函數(shù)

if(0==net2)//輸出大小

{

printf("ab\n");

}

else

if(1==net2)

{

printf("ab\n");

}

else

{

printf("a=b\n");

}

return

0;

}

擴(kuò)展資料:

一、return在函數(shù)中的作用

我們?nèi)绻麑⒑瘮?shù)看做一個(gè)加工廠,參數(shù)就是我們向加工廠投入的原料,具體的函數(shù)功能實(shí)際上就是加工的過程,而return語(yǔ)句代表返回值,就是加工廠在實(shí)現(xiàn)加工之后給“投資人”的成品。

二、return語(yǔ)句的特點(diǎn)

1、在函數(shù)當(dāng)中,遇到return語(yǔ)句之后就意味著函數(shù)運(yùn)行的結(jié)束,在此之后的代碼是不運(yùn)行的。

2、它不支持任何運(yùn)算也沒有任何內(nèi)建方法,和任何其他的數(shù)據(jù)類型比較是否相等時(shí)永遠(yuǎn)返回false,也可以將None賦值給任何變量。

3、執(zhí)行到return語(yǔ)句時(shí),會(huì)退出函數(shù),return之后的語(yǔ)句不再執(zhí)行。但將return語(yǔ)句放在try語(yǔ)句塊中,是個(gè)例外。

三、return的默認(rèn)值:return函數(shù)默認(rèn)的返回值為undefined。

C語(yǔ)言字符串比較

strcmp(str1,str2)函數(shù)是比較兩個(gè)字符串的函數(shù):

設(shè)這兩個(gè)字符串為str1,str2,

若str1==str2,則返回零;

若str1str2,則返回正數(shù);

若str1str2,則返回負(fù)數(shù)。

例如:

該函數(shù)的原型聲明:

extern int strcmp(const char *s1,const char *s2);

那么,strcmp函數(shù)的聲明規(guī)則是什么?它如何比較兩個(gè)字符串的大???

規(guī)則如下:

當(dāng)s1s2時(shí),返回為負(fù)數(shù);

當(dāng)s1=s2時(shí),返回值= 0;

當(dāng)s1s2時(shí),返回正數(shù);

即:兩個(gè)字符串自左向右逐個(gè)字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。如:

"A""B" "a""A" "computer""compare"

特別注意:strcmp(const char *s1,const char * s2)這里面只能比較字符串,即可用于比較兩個(gè)字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。

ANSI標(biāo)準(zhǔn)規(guī)定,返回值為正數(shù),負(fù)數(shù),0 。而確切數(shù)值是依賴不同的C實(shí)現(xiàn)的。

所以:

用它比較Follow me和Computer design的話,它會(huì)只比較F與C這兩個(gè)字符串的首元素的大小,所以Follow me 比較大。

C語(yǔ)言字符串比較函數(shù)

#includestring.h

#includestdio.h

void main()

{

char str1={"abc"},str2={"485afsd"};

if(strcmp(str1,str2)0) printf("yes");

} 去掉個(gè)o就可以了,樓主要多看看編譯器的使用方法,是什么錯(cuò)誤在下方是有提示的

網(wǎng)站題目:c語(yǔ)言實(shí)現(xiàn)字符串比較函數(shù) c語(yǔ)言中字符串比較
分享地址:http://muchs.cn/article42/dohdoec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、品牌網(wǎng)站建設(shè)、面包屑導(dǎo)航、軟件開發(fā)網(wǎng)站改版、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化