3 недели назад
Функция выводит лишний символ
Написал (пока не совсем) функцию преобразования байта в его гексадецимальный текстовый вид.
Все вроде работает, но в переменной 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
Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
-1поставь
Конец строки кто будет заполнять, Пушкин?
1
result[4] = '\0';