//17.字符串比较函数的编写\n
int demo2(char str1[],char str2[]){
while((*str1++ == *str2++) && *str1 && *str2){//不等长则跳出时指向当前不相等位(++后有一位为空),等长不一样则跳出时指向不相等的下一位
// printf("%c %c\n",*str1,*str2);
}
if((*str2 == *str1) && (*(str2-1) == *(str1-1))) //&&之前判断是否不等长,&&之后判断是否不相等
return(*str1-*str2);
else if(*(str2-1) != *(str1-1)) { //因为不一样跳出,要用上一位来减
printf("不相同位:%c %c\n",*(str1-1),*(str2-1));
return(*(str1-1)-*(str2-1));
}
else{ //因为不等长跳出的,用当前位来减
printf("不相同位:%c %c\n",*str1,*str2); //打印不一样位
return(*str1-*str2);
}
}
运行结果截图:
正在复习,欢迎批评指正。
标签:return,函数,++,str2,str1,&&,printf,编写,strcmp From: https://blog.51cto.com/u_17032084/12081547