C : 比较两个字符数组
这是我的腐烂功能
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;
}
这应该输出 1 因为 D 将是解码字符中的 Q W 将是解码字符中的 J 并且 Q > J
printf("%d \n", my_rot13cmp("\0D\n", "\0W\n"));
但这一直给我-1
比较这两个字符的正确方法是什么?