#includelt;stdio.hgt;
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、容城網(wǎng)絡推廣、成都微信小程序、容城網(wǎng)絡營銷、容城企業(yè)策劃、容城品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供容城建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
#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(*agt;*b)
{
return 0;
}
else if(*alt;*b)
{
return 1;
}
else
{
a++;
b++;
}
}
if((*a=='\0')(*b!='\0'))//字符串b比字符串a(chǎn)長
{
return 1;
}
else if((*a!='\0')(*b=='\0'))//字符串a(chǎn)比字符串b長
{
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("agt;b\n");
}
else if(1==net2)
{
printf("alt;b\n");
}
else
{
printf("a=b\n");
}
return 0;
}
擴展資料:
一、return在函數(shù)中的作用
我們?nèi)绻麑⒑瘮?shù)看做一個加工廠,參數(shù)就是我們向加工廠投入的原料,具體的函數(shù)功能實際上就是加工的過程,而return語句代表返回值,就是加工廠在實現(xiàn)加工之后給“投資人”的成品。
二、return語句的特點
1、在函數(shù)當中,遇到return語句之后就意味著函數(shù)運行的結(jié)束,在此之后的代碼是不運行的。
2、它不支持任何運算也沒有任何內(nèi)建方法,和任何其他的數(shù)據(jù)類型比較是否相等時永遠返回false,也可以將None賦值給任何變量。
3、執(zhí)行到return語句時,會退出函數(shù),return之后的語句不再執(zhí)行。但將return語句放在try語句塊中,是個例外。
三、return的默認值:return函數(shù)默認的返回值為undefined。
(1)strcmp是比較兩個字符串的大小,兩個字符串相同時返回0,第一個字符串大于第二個字符串時返回一個正值,否則返回負值.
(2)比較兩個字符串的算法是:逐個比較兩個串中對應的字符,字符大小按照ASCII碼值確定,從左向右比較,如果遇到不同字符,所遇第一對不同字符的大小關系就確定了兩個字符串的大小關系,如果未遇到不同字符而某個字符串首先結(jié)束,那么這個字符串是較小的,否則兩個字符串相等。
擴展資料:
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。
兩個字符串相等的充要條件是:長度相等,并且各個對應位置上的字符都相等。設p、q是兩個串,求q在p中首次出現(xiàn)的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。一般記為 s=“a1a2···an”(n=0)。它是編程語言中表示文本的數(shù)據(jù)類型。在程序設計中,字符串(string)為符號或數(shù)值的一個連續(xù)序列,如符號串(一串字符)或二進制數(shù)字串(一串二進制數(shù)字)。
字符串數(shù)據(jù)類型是建模在形式字符串的想法上的數(shù)據(jù)類型。字符串是幾乎在所有編程語言中可以實現(xiàn)的非常重要和有用的數(shù)據(jù)類型。
在某些語言中它們可作為基本類型獲得,在另一些語言中做為復合類型獲得。多數(shù)高級語言的語法允許通常用某種方式引用起來的字符串來表示字符串數(shù)據(jù)類型的實例;這種元字符串叫做“文本”或“字符串文本”。
盡管形式字符串可以有任意(但有限)的長度,實際語言的字符串的長度經(jīng)常被限制到一個人工極大值。一般的說,有兩種類型的字符串數(shù)據(jù)類型: “定長字符串”,它有固定的極大長度并且不管是否達到了這個極大值都使用同樣數(shù)量的內(nèi)存,和“變長字符串”,它的長度不是專斷固定的并且依賴于實際的大小使用可變數(shù)量的內(nèi)存。
參考資料:百度百科——字符串
在C語言中比較字符串大小,可以使用庫函數(shù)strcmp,也可以自己編寫比較函數(shù)。
1、使用庫函數(shù)。
需要包含頭文件string.h。聲明為:
int strcmp(const char *s1, const char *s2);
會根據(jù)字典序比較s1和s2, 如果二者相等,則返回0;如果s1較小則返回-1;如果s1較大則返回1。
比如
strcmp("123", "123") 結(jié)果為0。
strcmp("123", "456") 結(jié)果為-1。
strcmp("456", "123") 結(jié)果為1。
2、自定義函數(shù)。
實現(xiàn)字符串比較的方法有很多,其基本原理為按字節(jié)比較。
舉例如下:
int?my_strcmp(char?*s1,?char?*s2)
{
int?i;
for(i?=?0;?s1[i]?==?s2[i]??s1[i]!=0;?i++);//循環(huán)比較,達到結(jié)束或者出現(xiàn)不相等值時退出循環(huán)。?
if(s1[i]?==?s2[i])?return?0;//代表全部相等,返回0
if(s1[i]s2[i])?return?-1;//s1較小,返回-1。
return?1;//s1較大,返回1.
}
從左到右,依次比較字母的ASCII碼的大小,遇到不同字符或'\0'結(jié)束。
基本形式:strcmp(str1,str2)
str1=str2時,返回零;str1str2時,返回負數(shù);str1str2時,返回正數(shù)。
比如Apple和Banana比較,先比較第一個字母A和B,A的ASCII碼是65,B的是66,所以AppleBanana。
compare和computer比較,前4個字母相同,第五個字母a和u,a的ASCII碼是97,u的是117,所以comparecomputer。
擴展資料:
特別注意:
strcmp(const char *s1,const char * s2)這里面只能比較字符串,即可用于比較兩個字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。
ANSI標準規(guī)定,返回值為正數(shù),負數(shù),0 。而確切數(shù)值是依賴不同的C實現(xiàn)的。
1、當兩個字符串不相等時,C標準沒有規(guī)定返回值會是1 或 -1,只規(guī)定了正數(shù)和負數(shù)。
2、有些會把兩個字符的ASCII碼之差作為比較結(jié)果由函數(shù)值返回。但無論如何不能以此條依據(jù)作為程序中的流程邏輯。