自行编写一个strcmp函数,不能直接调用。
#include<stdio.h>
int strcmp(char *str1,char *str2)
{
if(str1==NULL||str2==NULL)
{
return -2;
}
int r=0;
while(!(r=*str1-*str2)&&*str1&&*str2)//当*str1和*str2相等时,指针往后移,当str1和str1不相等,或者str1或str2移动到‘/0’时结束循环
{
str1++;
str2++;
}
if(*str1>*str2)
{
r = 1;
}
if(*str1<*str2)
{
r= -1;
}
return r;
}
int main(){
char str1[50],str2[50];
printf("请输入两个字符串:\n");
scanf_s("%s",str1);
scanf_s("%s",str2);
printf("%d",strcmp(str1,str2));
return 0;
}
我的输出结果一直都是1,程序该怎么修改呢