/* * 给出一个函数,原型为int compare(char *dest,char *src) * 要求比较两个字符串(由dest与src字符指针标识) * 1.如果两个字符串所含字母完全相同,则返回0 * 2.如果两字符串所含字母相同(不区分大小写,A与a也算相同),则返回1 * 3.否则返回2 */ #include<stdio.h> #include<stdlib.h> int compare(char *dest,char *src) { char *s1=src; char *s2=dest; //flag=true表明字母完全相同 flag=false表明字母不完全相同 bool flag=true; while(*s1!='\0'&&*s2!='\0') { if(*s1==*s2) { s1++; s2++; } else if(*s1==*s2-32||*s2==*s1-32) { s1++; s2++; flag=false; } else { break; } } //字符串没有比较结束 if(*s1!='\0'&&*s2!='\0')return 2; //字符串长度不相等 else if((*s1!='\0'&&*s2=='\0')||(*s1=='\0'&&*s2!='\0'))return 2; //字符串长度相等 else { if(flag)return 0; else return 1; } } int main() { char *src="abdc"; char *dest="aBdc"; int result=compare(dest,src); printf("result=%d\n",result); return 0; }