题目大意:自己动手实现strcmp函数,功能是能够比较两个函数的大小,若s1>s2返回1,若s1<s2返回-1,否则返回0
题目分析:分别从左至右扫描两个字符数组,发现当前的两个字符相等,则分别往后移动一位。当发现不等时或者有一个到了末尾位置,即可停止扫描,进行判断大小。因为字符的最后一位是‘\0’,比任何ASCII字符都小,所以不需要单独处理
代码展示:
#include <iostream>
#include <string>
using namespace std;
int myStrcmp(char *s1,char *s2){
int i=0,j=0;
while(s1[i]==s2[j] && s1[i]!='\0'){
i++;
j++;
}
if(s1[i]>s2[j])
return 1;
else if(s1[i]<s2[j])
return -1;
else
return 0;
}
int main(){
char a[100],b[100];
cin>>a>>b;
cout<<myStrcmp(a,b)<<endl;
return 0;
}