C语言字符比较(strcmp)

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:34:44
*#include "stdio.h"
#include "conio.h"
int strcmp1(char *p1,char *p2)
{
while ((*p1!=*p2)&&(*p1!='\0'))
{p1++;p2++;}
return(*p1-*p2);
}
main()
{ char s1[100],s2[100];int k;
puts("请输入字符串:");gets(s1);
puts("请输入字符串:");gets(s2);
k=strcmp1(s1,s2);printf("%d\n",k);
printf("%d",strcmp(s1,s2));
getch();
}
上面是本人自己写的一个功能类似于strcmp的函数,但是不知道在哪个地方出错了,希望各位大虾们帮忙纠正~~最后要求的结果是比较后返回一个数值
我是在win-tc上进行编译的,一楼说的#include<sting.h>
我试了下结果编译结果说没有这个文件

是string.h这个文件
给你改了下,你看下行不行

#include "stdio.h"
#include "conio.h"
#include <string.h>
int strcmp1(char *p1,char *p2)
{
while ((*p1==*p2)&&(*p1!='\0'))
{p1++;p2++;}
return(*p1-*p2);
}
main()
{ char s1[100],s2[100];int k;
puts("请输入字符串:");gets(s1);
puts("请输入字符串:");gets(s2);
k=strcmp1(s1,s2);printf("%d\n",k);
printf("%d",strcmp(s1,s2));
getch();
}

循环条件控制好像错了,

测试了下结果

相同的话 为0,前面大于后面 为正数,后面大于前面为负数

你加
#include<sting.h>
了吗