編寫函式,實現對兩個字串進行比較,函式原型可為 int strcmp char s1,char s

時間 2021-10-14 21:56:17

1樓:匿名使用者

一個公認的實現方法如下: 注意兩個形參應該是const char *int my_strcmp(const char *s1, const char *s2)

uc1 =(*(unsignedchar*) s1);

uc2 =(*(unsignedchar*) s2);

return((uc1 < uc2)?-1:(uc1 > uc2));}

2樓:匿名使用者

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

3樓:匿名使用者

/*am < bm

bm > am

am = am

*/#include

int strcmp(char s, char t)if(s[i] == '\0' && t[i]) return -1;

else if(t[i] == '\0' && s[i]) return 1;

return 0;

}int main()

4樓:匿名使用者

while(s1!=0 && s2!=0)if(s1 == 0 && s2 ==0) return 0;

else if(s1>0) return 1;

else return -1;

用一個函式實現兩個字串的比較,即自己寫一個strcmp函式,函式原型為 :int strcmp

5樓:

//void strcmp(char *s1,char *s2)int strcmp(const char *s1,const char *s2)

else if(s1==null)

else if(s2==null)

//一直找到一個

for(i=0;!s;i++)

//if((s1+i)!=(s2+i))

//s=(s1+i)-(s2+i);

//else

//s=0;

return s;

//printf("%d\n",s);}

6樓:匿名使用者

修改如下:

#include

void main()

int strcmp(char *s1,char *s2)

c語言編寫函式實現兩個字串比較(其功能與標準函式strcmp一樣)函式原型int mystrcpy(char*s1,char*s2)

7樓:

以下**就可解決此問題:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

int mystrcmp(const char *s1,const char *s2)

int main(void){//測試一下char a="12378",b="1233467890",f;

if((f=mystrcmp(a,b))>0)printf("a>b\n");

else if(f<0)

printf("a

8樓:匿名使用者

int mystrcmp(char *s1, char *s2)

return *s1-*s2;}

用strcmp函式比較兩個字串,結果不正確啊

strcmp的實現是這樣的,對兩個字串,先比較第一個字元,如果不相等,返回差值。如果相等,繼續比較下一個字元,直到有不相等或遇到 0 時結束。現在你把陣列a和b傳入,因為前三個字元都相等,會越界繼續比較的。如果你想比較兩個字串,字串是要用 0 結束的。如果你只想比較前n個,可以使用strncmp,s...

如何利用strcmp函式比較兩個字串是否相同

按照函式定義的方式呼叫,傳進兩個字元陣列的指標即可。函式原型 extern int strcmp const char s1,const char s2 引數 s1 s2都是字元陣列的指標 規則當s1當s1 s2時,返回值 0 當s1 s2時,返回正數 即 兩個字串自左向右逐個字元相比 按ascii...

用C語言編寫比較兩個字串大小的程式 不能用string函式

include int str cmp char str1,char str2 if str1 0 str2 0 return 1 if str1 0 str2 0 return 1 if str1 0 str2 0 return 0 int main else if a i 0 return 1 ...