В C вы не можете сравнивать строки, используя == (что произойдет, если вы выполните сравнение мест в памяти строк, что в большинстве случаев даст разные результаты).
Также scanf("%c", &convert_from);
не так. Сам массив уже превратится в указатель, поэтому достаточно scanf("%c", convert_form);
. В этом случае, однако, convert_form
не будет содержать что-то, что ваша библиотека C будет считать строкой (строки заканчиваются нулем в C). Минимально инвазивное изменение для того, чтобы заставить ваш код работать, будет меняться
if (convert_from == "f") [...]
до
if (covert_form[0] == 'f') [...]
(обратите внимание на '' вместо "", который является символьным литералом, который в основном является просто числом и, таким образом, может сравниваться с использованием ==).
Более идиотский способ сделать это - объявить convert_form
как char convert_form
, а затем использовать scanf("%c", &convert_form);
, что будет соответствовать описанному выше.