Я кодирую код C и хочу сравнить шестнадцатеричное значение одного символа с другим. Это работает, но с некоторым значением типа �
я получил значение в 4 байта, что не имеет смысла в моем сравнении.
void obs_text(char* start, unsigned char debugLevel, unsigned char depth){
printf("%c -> 0x%x\n", start[0], start[0]);
}
Я ожидал вывод с двумя шестнадцатеричными символами, но фактический вывод - ? -> 0xffffffef
.
Пожалуйста, кто-нибудь понимает, что происходит? Спасибо за вашу помощь.
Я компилирую с gcc.
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.3)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
но я также пытаюсь установить ОС Debian с той же проблемой