Почему вы думаете, что ваш ответ неверен? Какой вкус CRC16 вы пытаетесь рассчитать? С каким инструментом вы сравниваете свой результат?
Вы можете избавиться от версии char. getc()
возвращает значение типа unsigned char внутри целого числа (или целое значение EOF
), неправильно назначать его для символа.
Похоже, вы предполагаете, short
с длиной 16 бит. Вы это подтвердили?
Вы должны всегда работать со всеми включенными предупреждениями компилятора. У вас есть неиспользуемые переменные, неинициализированные переменные, необъявленные функции и пропущенные параметры для вызовов функций. Я поражен, что ваша программа работает вообще; он разбился на моем компьютере.