私は答えをかなり探し回っています。、などmy_strcmp()
の独自の文字列関数のシリーズを作成します。my_strcat()
strcmp()
文字の2つの配列の各インデックスを処理し、ASCII値が2つの文字列の同一のインデックスで小さい場合、その文字列はアルファベット順に大きいため、0、1、または2が返されますか?私が求めているのは、これらの結果を返すために文字のASCII値を使用しているのでしょうか。
どんな助けでも大歓迎です。
[改訂]
OK、それで私はこれを思いついた...それは2番目の文字列が最初の文字列よりも大きい場合を除いてすべての場合に機能します。
任意のヒント?
int my_strcmp(char s1[], char s2[])
{
int i = 0;
while ( s1[i] != '\0' )
{
if( s2[i] == '\0' ) { return 1; }
else if( s1[i] < s2[i] ) { return -1; }
else if( s1[i] > s2[i] ) { return 1; }
i++;
}
return 0;
}
int main (int argc, char *argv[])
{
int result = my_strcmp(argv[1], argv[2]);
printf("Value: %d \n", result);
return 0;
}