1. 程式人生 > >寫一函式,實現兩個字串的比較

寫一函式,實現兩個字串的比較

寫一函式,實現兩個字串的比較。即自己寫一個strcmp函式,函式原型:  int stremp(char *p1,char*p2)
設p1指向字串s1,p2指向字串s2。要求:當s1=s2時,返回值為0。當s1不等於s2時,返回它們二者的第一個不同字元的ASCII碼差值(如“BOY”與“BAD”,第二字母不同,“O”與“A”之差為79-65=14);如果s1>s2,則輸出正值;如果s1<s2,則輸出負值。

#include<stdio.h>

main()

{ int strcmp(char*p1,char *p2);

  int m;

  char str1[20],str2[20],*p1,*p2;

  printf("Input two strings:\n");

  scanf("%s",str1);

  scanf("%s",str2);

  p1=&str1[0];

  p2=&str2[0];

  m=strcmp(p1,p2);

  printf("result: %d\n",m);

}

 

int strcmp(char*p1,char *p2)            /*兩個字串比較的函式*/

{ int i;

  i=0;

  while(*(p1+i)==*(p2+i))

    if(*(p1+i++)=='\0') return(0);         /*相等時返回結果0*/

  return(*(p1+i)-*(p2+i));     /*不等時返回結果為第一個不等字元ASCII碼的差值*/

}