int main()
{
int strcmp(char * p1,char * p2)
char * s1 = "袭握hello world"
char s2[] = "hello_world"
char s3[] = "hello world"
if(strcmp(s1,s2)==0){
printf("String s1 and s2 are equal!\n")
}
else{
printf("巧毕String s1 and s2 are not equal!\n")
}
if(strcmp(s1,s3)==0){
printf("String s1 and s3 are equal!\n"拍宽庆)
}
else{
printf("String s1 and s3 are not equal!\n")
}
getchar()
return 0
}
int strcmp(char * p1,char * p2)
{
for()
{
if(*p1=='\0' && *p2=='\0'){
return 0
}
if(*p1!=*p2){
return (*p1 - *p2)
}
p1++
p2++
}
}
实际上这个题目就是要手动实现strcmp这个函数的功能,在面试中可能扒含哗会老链遇到类似的问题(strcpy等) #include // 当s1 >s2 的时候,会返回春行正数// 当s1 <s2 的时候,会返回负数// 当s1 == s2 的时候,会返回 0int Mystrcmp(char *s1, char *s2){ if (s1 == NULL || s2 == NULL) // 字符串为空 return 0while(*s1 == *s2 &&*s1 != '\0') { s1++s2++} return *s1 - *s2}// 给了一个测试例子~可以自己写几个例子测试一下。int main(){ printf("%d\n", Mystrcmp("ab", "aa"))}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)