1. 程式人生 > >第十六週—C語言 (字串比較—不使用strcat函式)

第十六週—C語言 (字串比較—不使用strcat函式)

/*
煙臺大學計算機學院  2016
作者:張威
完成日期:2016年12月10日
問題描述:寫一函式,實現兩個字串的比較。即自己寫一個strcmp函式,函式原型為
int stringcmp(char *p1,char *p2); 
設p1指向字串s1,p2指向字串s2。要求當s1=s2時,返回值為0,若s1≠s2,返回它們二者第1個不同字元的ASCII碼差值(如"BOY"與"BAD",第2個字母不同,"O"與"A"之差為79-65=14)。如果s1>s2,則輸出正值,如s1<s2,則輸出負值
*/

#include <stdio.h>
#include <string.h>
int stringcmp(char *p1,char *p2)
{
 int i=0;
 while(*(p1+i)==*(p2+i))
 {
  if(*(p1+i++)=='\0')
  {
   return 0;
  }
 }
 return *(p1+i)-*(p2+i);
}
int main()
{
    int stringcmp(char *,char *);
    int m;
    char str1[80],str2[80],*p1,*p2;
    scanf("%s",str1);
    scanf("%s",str2);
    p1=&str1[0];
    p2=&str2[0];
    m=stringcmp(p1,p2);
    printf("%d",m);
    return 0;

}




執行結果: