C : 2 つの文字配列を比較する
これが私の腐敗関数です
int my_rot13(int c) {
if ('a' <= tolower(c) && tolower(c) <= 'z')
return tolower(c)+13 <= 'z' ? c+13 : c-13;
return c;
}
int my_rot13cmp(char *a, char *b) {
int i;
for (i=1; i<strlen(a); i++) {
if (my_rot13(a[i]) > my_rot13(b[i])) {
return 1;
}
}
return -1;
}
D はデコードされた文字で Q になるため、これは 1 を出力する必要があります W はデコードされた文字で J となり、Q > J になります。
printf("%d \n", my_rot13cmp("\0D\n", "\0W\n"));
しかし、これは私に-1を与え続けます
この 2 つの文字を比較する正しい方法は何ですか?