题目要求:
17.写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为
int strcmp(char *pl,char *p2);
设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0;若s1≠s2,返回它们二者第1个不同字符的 ASCI1码差值(如"BOY"与"BAD",第2个字母不同,0与A之差为79-65=14)。如果s1>s2,则输出正值;如果s1<s2,则输出负值。
具体程序:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
int strcmp(char* p1, char* p2);
char p1[100];
char p2[100];
printf("请输入两个字符串:\n");
gets(p1);
gets(p2);
int result=strcmp(p1, p2);
if (result == 0)
{
printf("字符串相同");
}
else
{
printf("%d", result);
}
return 0;
}
int strcmp(char* p1, char* p2)
{
int i, j,flag = 1;
for (i = 0; i < strlen(p1); i++)
{
if (*(p1 + i) - *(p2 + i) == 0)continue;
else
{
flag = 0;
return(*(p1 + i) - *(p2 + i));
}
}
if (flag == 1)return 0;
}
运行结果:
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » C语言-写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int strcmp(char *pl,char *p2);
发表评论 取消回复