#include <stdio.h>
#include <string.h>
void main()
{
char s1[100];
char s2[100];
int a;
int strcmp(char* p1, char* p2);
printf("输入字符串s1:");
scanf_s("%s",s1);
printf("输入字符串s1:");
scanf_s("%s", s2);
a=strcmp(s1,s2);
printf("%d",a);
}
int strcmp(char* p1, char* p2)
{
int i = 0;
int c,l;
//下面是找出两个字符串中较短的长度,避免出现字母与“/0“比较的情况
l = strlen(p1) > strlen(p2) ? strlen(p2) : strlen(p1);
while (*(p1 + i) == *(p2 + i)&&i<l)
{
i++;
}
if (i < l - 1)
{
c = *(p1 + i) - *(p2 + i);
return c;
}
else if (i = l - 1)
return 0;
}
一运行程序输入字符按下Enter键后就跳转这个页面报错,程序无法运行下去,但编译那边没有报错。

