這個函數是用于比較字符串中字符值的大小的、從第一個字符開始比較,對相比較的兩個字符串的第一個字符s1、s2;
站在用戶的角度思考問題,與客戶深入溝通,找到延川網站設計與延川網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都做網站、企業官網、英文網站、手機端網站、網站推廣、國際域名空間、網絡空間、企業郵箱。業務覆蓋延川地區。
當s1s2時,返回值0
當s1s2時,返回值0
,若相等,則繼續比較。如果兩個字符串相等,則返回值為0
#includestdio.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("ab\n");
}
else
if(1==net2)
{
printf("ab\n");
}
else
{
printf("a=b\n");
}
return
0;
}
擴展資料:
一、return在函數中的作用
我們如果將函數看做一個加工廠,參數就是我們向加工廠投入的原料,具體的函數功能實際上就是加工的過程,而return語句代表返回值,就是加工廠在實現加工之后給“投資人”的成品。
二、return語句的特點
1、在函數當中,遇到return語句之后就意味著函數運行的結束,在此之后的代碼是不運行的。
2、它不支持任何運算也沒有任何內建方法,和任何其他的數據類型比較是否相等時永遠返回false,也可以將None賦值給任何變量。
3、執行到return語句時,會退出函數,return之后的語句不再執行。但將return語句放在try語句塊中,是個例外。
三、return的默認值:return函數默認的返回值為undefined。
代碼如下:
#include?stdio.h
#include?stdlib.h
int?max(int?a,?int?b)?
{
return?a??b???a?:?b;
}
int?main()
{
int?i,?m,?n;
scanf("%d",?m);
for?(i?=?1;?i??8;?i++)?{
scanf("%d",?n);
m?=?max(m,?n);
}
printf("最大數:%d\n",?m);
system("pause");
return?0;
}
運行結果:
你的程序和例題的程序思想上實際上是一模一樣的,只是你的程序中兩個函數接口名換了而已;
你要知道,被調用函數中函數頭中的變量名與調用函數參數是無關的,也就是說你沒必要寫成void inverse( int a[],int n),你寫成void inverse( int b[],int n)也是可以的,只要本函數內保持一致就沒有問題;
再就是,你用數組名作參數,也就是你的void inverse( int a[],int n),實際上程序運行時還是用的數組的地址,與void inverse( int *a,int n)是完全一樣的,等價的,所以跟void inverse( int *p,int n)也是完全等價的!
總之,你的程序與例題程序基本上的等價的,只是你的程序還多了個變量*p(被調用函數inverse中只需要兩個指針型變量)!!!
主函數我覺得你的輸出比例題的簡單,也少個指針變量,這是不錯的,簡單就是最好的!也許例題是想告訴你怎么使用指針移動實現數組輸出吧,呵呵!!!
strcmp是字符串比較函數,調用形式為strcmp(字符串1,字符串2);
功能:字符串1與字符串2比較,如果字符串1==字符串2,則函數值為0,1大于2,則為正整數,1小于2,則為負整數;
從兩個字符串的第一個字符開始逐個進行比較(按照ascii碼
的大小進行比較),之道出現不同的字符或遇到“\0”為止。例如:char*str1=hello,*str2=void;則strcmp(str1,str2)0;因為‘h’'v';
(1)strcmp是比較兩個字符串的大小,兩個字符串相同時返回0,第一個字符串大于第二個字符串時返回一個正值,否則返回負值.
(2)比較兩個字符串的算法是:逐個比較兩個串中對應的字符,字符大小按照ASCII碼值確定,從左向右比較,如果遇到不同字符,所遇第一對不同字符的大小關系就確定了兩個字符串的大小關系,如果未遇到不同字符而某個字符串首先結束,那么這個字符串是較小的,否則兩個字符串相等。
擴展資料:
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。
兩個字符串相等的充要條件是:長度相等,并且各個對應位置上的字符都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
字符串或串(String)是由數字、字母、下劃線組成的一串字符。一般記為 s=“a1a2···an”(n=0)。它是編程語言中表示文本的數據類型。在程序設計中,字符串(string)為符號或數值的一個連續序列,如符號串(一串字符)或二進制數字串(一串二進制數字)。
字符串數據類型是建模在形式字符串的想法上的數據類型。字符串是幾乎在所有編程語言中可以實現的非常重要和有用的數據類型。
在某些語言中它們可作為基本類型獲得,在另一些語言中做為復合類型獲得。多數高級語言的語法允許通常用某種方式引用起來的字符串來表示字符串數據類型的實例;這種元字符串叫做“文本”或“字符串文本”。
盡管形式字符串可以有任意(但有限)的長度,實際語言的字符串的長度經常被限制到一個人工極大值。一般的說,有兩種類型的字符串數據類型: “定長字符串”,它有固定的極大長度并且不管是否達到了這個極大值都使用同樣數量的內存,和“變長字符串”,它的長度不是專斷固定的并且依賴于實際的大小使用可變數量的內存。
參考資料:百度百科——字符串
分享題目:c語言函數比較函數,c語言比較大小的函數
鏈接分享:http://m.kartarina.com/article26/hegijg.html
成都網站建設公司_創新互聯,為您提供網站內鏈、定制網站、、自適應網站、全網營銷推廣、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯