题目大意:自己动手实现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; }