Программирование на Си! Работа с процедурами и функциями.

Пишу программу, которой на ввод подается строка (например: ”hello world”), после чего посимвольно считываю эту строку и вывожу каждый символ процедурой, которую написал
заранее, процедуры вида print_A, print_B...
Самый банальный способ это писать 26 сравнений через If, но это как-то много и не красиво!
str =”hello world”;
for (int i=0; i<=11; i++){
If (str ==”a”)
{
print_A;
}
If (str ==”b”)
{
print_B;
}
….
}
Подскажите, пожалуйста, может есть какие-то функции поиска в названиях процедур? !
Типа: Выполнить процедуру “Str[0]”, а программа понимает, что процедура print_H!

Нечто очень странное. Вообще в С можно создать массив указателей на функции, но тут напрашивается печать всего, что нужно, с помощью одной функции, а там уже в ней может быть множество вариантов печати - хотя непонятно, зачем для печати каждого символа нужны отдельные операторы. Даже если для каждого символа нужно печатать что-то особенное, вероятно, можно было бы обойтись массивом, в котором данные для печати каждого символа, или, на самый худой конец, оператором case.

Я бы сделал switch case