问题:
模拟实现strcmp,字符串比较。
思路:
- 先在脑子里想想,眼看是怎么比的,是该字符串整体大小加一起比,还是最左边比。
- 实际上字符串比较大概是这样:每次比较都是比较两个字符串中,最左边的字母大小,若相等,则两个字符串同时比较他俩下一位,直到遇见不相等的就可
代码如下:
#include <stdio.h>
int strcmp(char str1[10],char str2[10])
{
int b;
int i;
for(i=0;str1[i]!='\0'||str2[i]!='\0';i++)
{
if(str1[i]!=str2[i])
{
return str1[i]-str2[i];
break;
}
}
return b;
}
int main()
{
char str1[10],str2[10];
gets(str1);
gets(str2);
int a=strcmp(str1,str2);
if(a>0)
printf("str1>str2");
else if(a<0)
printf("str1<str2");
else
printf("str1=str2");
return 0;
}