Top.Mail.Ru
Ответы

Функция выводит лишний символ

Написал (пока не совсем) функцию преобразования байта в его гексадецимальный текстовый вид.
Все вроде работает, но в переменной result - появляется лишний символ, повтор последнего. Например, если должно быть 0xAB, то выведется 0xABB.

12345678910
  #include <stdio.h> 
 
        static unsigned char cnvtbl[] = "0123456789ABCDEF> 
 
int main() { 
        unsigned char input = 0xE4; // входные данные
        unsigned char result[5] = "0x"; 
        result[3] = cnvtbl[input & 0x0F];                       input = input >> 4; 
        result[2] = cnvtbl[input & 0x0F];                       printf("%s\n", result); 
        } 

Пишу на телефоне в Termux, компилятор clang

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
3нед

-1поставь

Аватар пользователя
Мыслитель
3нед

Конец строки кто будет заполнять, Пушкин?

1
 result[4] = '\0';