#include <stdio.h>
int xstrcmp(const char* s1, const char* s2)
{
while(*s1 && (*s1==*s2))
s1++,s2++;
return *(const unsigned char*)s1-*(const unsigned char*)s2;
}
int main(void) {
printf("%d\n", xstrcmp
("a", "c")); printf("%d\n", xstrcmp
("c", "a")); unsigned char a[] = {130, 0}, b[] = {135, 0};
printf("%d\n", xstrcmp
((char *)a
, (char *)b
)); printf("%d\n", xstrcmp
((char *)b
, (char *)a
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeHN0cmNtcChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIpCnsKICAgIHdoaWxlKCpzMSAmJiAoKnMxPT0qczIpKQogICAgICAgIHMxKyssczIrKzsKICAgIHJldHVybiAqKGNvbnN0IHVuc2lnbmVkIGNoYXIqKXMxLSooY29uc3QgdW5zaWduZWQgY2hhciopczI7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgICAgICBwcmludGYoIiVkXG4iLCB4c3RyY21wKCJhIiwgImMiKSk7CiAgICAgICAgcHJpbnRmKCIlZFxuIiwgeHN0cmNtcCgiYyIsICJhIikpOwogICAgICAgIHVuc2lnbmVkIGNoYXIgYVtdID0gezEzMCwgMH0sIGJbXSA9IHsxMzUsIDB9OwogICAgICAgIHByaW50ZigiJWRcbiIsIHhzdHJjbXAoKGNoYXIgKilhLCAoY2hhciAqKWIpKTsKICAgICAgICBwcmludGYoIiVkXG4iLCB4c3RyY21wKChjaGFyICopYiwgKGNoYXIgKilhKSk7CiAgICAgICAgcmV0dXJuIDA7Cgp9