首页 > 试题广场 >

写一函数,实现两个字符串的比较。即自己写一个strcmp函数

[问答题]

写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为

int strcmp(char *p1,char *p2)

p1指向字符串s1p2指向字符串s2。要求当s1=s2时,返回值为0;若s1s2,返回它

们二者第1个不同字符的ASCIl码差值(如”BOY""BAD”,第2个字母不同,“0”与“A”之差为79-65=14)。如果s1>s2,则输出正值;如果s1<s2,则输出负值。要求用指针方法处理。

推荐

#include<stdio.h>

int main()

{int stramp(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);

return 0;

}


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码的差值

}


发表于 2018-03-25 10:33:08 回复(0)