-2

次のような2つの文字列があるとします

入力 1: "xyz789"
入力 2 "mno123"

それらの値を比較して、S1 が S2 より大きいか、等しいか、または小さいかを出力する方法はありますか?

私はこれを標準ライブラリのみを使って手動で行っていますが、これまでのところ長さをチェックすることしかできませんでした (これは、長い文字列は大きいという安全な仮定ですが、同様の長さを比較すると難しくなります.

int compare_string(char *s1, char *s2)
{
   while(*s1==*s2)
   {
      if ( *s1 == '\0' || *s2 == '\0' )
         break;

      s1++;
      s2++;
   }
   if( *s1 == '\0' && *s2 == '\0' )
      return 0;
   else
      return -1;
}
4

1 に答える 1