用c語言實現 strcmp str1,str2 函式,比較兩個字串的大小

2022-02-20 16:06:31 字數 3407 閱讀 6902

1樓:匿名使用者

unsigned int strcmp(const char *str1, const char *str2) const

不區分大小寫:可以把位於'a'-'z'之間的字元加上32可變為'a'-'z'之間的字元後再呼叫上述函式。

2樓:匿名使用者

int __cdecl strcmp (const char * src, const char * dst)

不區分大小寫:可以把位於'a'-'z'之間的字元加上32可變為'a'-'z'之間的字元

3樓:乄隨訫隨妳動

字串比較函式。

*str1 - *str2

這個就是用str1現在指向的字元減去str2指向的字元,將減後的結果返回。

比如:*str1 = "abcd"

*str2 = "abca"

strcmp(str1,str2)的返回是多少?

str1++,str2++

a = a

str1++,str2++

b = b

str1++,str2++

c = c

str1++,str2++

d - a = 3

根據返回值你就知道字串是否一樣,哪個大。

得到3,數值大於0,說明第一個字串大,等於0表示一樣,小於0標識第二個字串大

4樓:匿名使用者

int strcmp(char *str1, char *str2)if (*str1)

return 1;

if (*str2)

return -1;

return 0;}

5樓:匿名使用者

開啟string.h,找到strcmp然後copy

c語言兩個字串比較大小的問題,不使用strcmp函式

6樓:問明

#include

#define n 80

void cmp(char a[n],char b[n])int i=0;

char *p1=a,*p2=b;

while(*(p1+i)==*(p2+i)&&*(p1+i)!='\0')

i++;

if(*(p1+i)>*(p2+i))

printf("%s>%s\n",p1,p2);

else if(*(p1+i)<*(p2+i))printf("%s<%s\n",p1,p2);

else

printf("%s=%s\n",p1,p2);

int main()

char a[n]=,b[n]=;

char c[n]=,d[n]=;

char e[n]=,f[n]=;

cmp(a,b);

cmp(c,d);

cmp(e,f);

return 0;

執行效果:

7樓:

看了也試了、沒什麼問題

不過不用加標頭檔案string.h

while((str1[i]==str2[i])&&(str1[i]!='\0')) i++;

這是說兩個字串從首位字元開始比較、如果相比較的兩個字元相等且第一個字串沒有到結尾、那麼要比較的字元各向後移動一位、str1[i]!='\0'是判斷字串結束的、當不滿足條件時就會繼續向下執行

s=0;

else

s=str1[i]-str2[i];

如果是由於第一個字串結束而跳出上面的迴圈、判斷第二個字串是否也結束了、

也就是判斷下是不是兩個字串同時結束、如果是、s=0、不是、s為兩個字元相差的ascii碼

c語言編寫一個程式,判別兩字串str1和str2的大小。要求不使用庫函式strcmp.

8樓:匿名使用者

實際上這個題目就是要手動實現strcmp這個函式的功能,在面試中可能會遇到類似的問題(strcpy等)

#include

// 當s1 > s2 的時候,會返回正數// 當s1 < s2 的時候,會返回負數// 當s1 == s2 的時候,會返回 0int mystrcmp(char *s1, char *s2)return *s1 - *s2;

}// 給了一個測試例子~可以自己寫幾個例子測試一下。

int main()

c語言問題:不用strcmp函式比較兩個字串的大小

9樓:問明

#include

#define n 80

void cmp(char a[n],char b[n])int i=0;

char *p1=a,*p2=b;

while(*(p1+i)==*(p2+i)&&*(p1+i)!='\0')

i++;

if(*(p1+i)>*(p2+i))

printf("%s>%s\n",p1,p2);

else if(*(p1+i)<*(p2+i))printf("%s<%s\n",p1,p2);

else

printf("%s=%s\n",p1,p2);

int main()

char a[n]=,b[n]=;

char c[n]=,d[n]=;

char e[n]=,f[n]=;

cmp(a,b);

cmp(c,d);

cmp(e,f);

return 0;

執行效果:

10樓:匿名使用者

#include

int main()}

編寫c語言程式,不使用strcmp函式,比較任意兩個字串的大小

有兩個字串,利用函式實現兩個字串的連結,兩個字串比較大小,計算兩個字串的長度,將第二個字元

11樓:_葉子妞妞

char * mystrcat(char *str1, char *str2)

int   mystrcmp(const   char   *   src, const   char   *   dst   )

int mystrlen(const char *str)return len;

}char * mystrcpy (char * dst, char * src)

12樓:在晴天的雨傘

#include

void conectstring(char str1,char str2,char str)

void main()

C要用語言實現建立標籤陣列,C要用語言實現建立一個標籤陣列

陣列定義的基礎格式是type new type n 象你上面就應該是label label new label 10 用c 語言定義一個有5個元素的一維陣列,並初始化,並求出該陣列所有元素的和。int num new int int sum 0 for int i 0 i int list cons...

在windows下,如何用純C語言實現socket網路程式設計

mfc只是對socket進行了一些bai 封裝du,大部分人做 網路編zhi程 都是用dao 的原始的socket,比如如下介面都可版以在權c下進行呼叫1.socket 2.bind 3.connect 4.listen 5.accept 6.send 和recv 7.sendto 和recvfro...

c語言用遞迴方法實現學號,C語言用遞迴方法實現學號1100中所有自然數的和

include int sum int n int main 1 100用c語言的遞迴法求和 1 首先本題的思路已經給出,要求用遞迴演算法。2 程式源 如下 include int sum int n int main 下面是一個遞迴求和函式 int sum int n 3 程式的輸出結果如下 in...