日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

仿写strncmp函数

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 仿写strncmp函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019-03-11 ?by 崔斐然


?int strncmp ( const char * str1, const char * str2, size_t n );
?【參數】str1, str2 為需要比較的兩個字符串,n為要比較的字符的數目。
?字符串大小的比較是以ASCII 碼表上的順序來決定,此順序亦為字符的值。strncmp()首先將s1 第一個字符值減去s2 第一個字符值,若差值為0 則再繼續比較下個字符,直到字符結束標志'\0',若差值不為0,則將差值返回。例如字符串"Ac"和"ba"比較則會返回字符"A"(65)和'b'(98)的差值(-33)。注意:要比較的字符包括字符串結束標志'\0',而且一旦遇到'\0'就結束比較,無論n是多少,不再繼續比較后邊的字符。
?【返回值】若str1與str2的前n個字符相同,則返回0;若s1大于s2,則返回大于0的值;若s1 小于s2,則返回小于0的值。
?

?

/*int strncmp ( const char * str1, const char * str2, size_t n );【參數】str1, str2 為需要比較的兩個字符串,n為要比較的字符的數目。字符串大小的比較是以ASCII 碼表上的順序來決定,此順序亦為字符的值。strncmp()首先將s1 第一個字符值減去s2 第一個字符值,若差值為0 則再繼續比較下個字符,直到字符結束標志'\0',若差值不為0,則將差值返回。例如字符串"Ac"和"ba"比較則會返回字符"A"(65)和'b'(98)的差值(-33)。注意:要比較的字符包括字符串結束標志'\0',而且一旦遇到'\0'就結束比較,無論n是多少,不再繼續比較后邊的字符。【返回值】若str1與str2的前n個字符相同,則返回0;若s1大于s2,則返回大于0的值;若s1 小于s2,則返回小于0的值。*//* print相關: ①%d格式:用來輸出十進制整數。有以下幾種用法:%d:按整型數據的實際長度輸出。 ⑤%c格式:輸出一個字符。 ⑥%s格式:用來輸出一個串。%s:例如:printf("%s", "CHINA")輸出"CHINA"字符串(不包括雙引號)指針中的相關參數理解:printf("%c\n",s1[0]);//從指針位置向后移動0位,帶[]得到的就是地基上的內容printf("%c\n",*s1);//打印s1的全部內容,*一般表示全部,因為定義的是char類型,打印單個字符這里打印出的第一個字符是空格。如果一開始定義的是int或者string 類型則會打印整個串。printf("%d\n",&s1[0]);//&打印內存中的真實地址,真實地址是int類型整數 */#include <stdio.h>int my_strncmp( const char * s1, const char * s2, int n){int i=0;while(i<n && s1[1]!='\0' && s2[i]!='\0' ){ //如果循環檢測位數,當小于規定位數n,或者兩者不為\0時候,執行如下步驟if (s1[i]-s2[i]==0) {//檢查這一位是不是相等,若差值為0 i加1,意思是繼續檢查下一位i++;}else{return s1[i]-s2[i];//返回兩個}}return 0;}int main() {char *s1 = "1234a567";char *s2 = "1235d";int strncmp = my_strncmp(s1,s2,5);printf("%d", strncmp);return 0; }

?

總結

以上是生活随笔為你收集整理的仿写strncmp函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。