Как вывести несколько символов при выводе элементов из массива?

Имеем const char rank_code[] = { '2', '3', '4', '5', '6', '7', '8', '9', '10', 'j', 'q', 'k','a' }; const char suit_code[] = {'h', 'd', 'c', 's'};

При выводе printf(" %c%c", rank_code[rank], suit_code[suit]); получаем вместо ожидаемой десятки — ноль. Есть идеи, как это решить?


Ответы (2 шт):

Автор решения: KoVadim

Используйте строки

const char* rank_code[] = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "j", "q", "k","a" };
const char suit_code[] = {'h', 'd', 'c', 's'};
printf(" %s%c", rank_code[rank], suit_code[suit]);
→ Ссылка
Автор решения: AR Hovsepyan

другой вариант:

const int rank_code[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 'j', 'q', 'k','a' };
const char suit_code[] = { 'h', 'd', 'c', 's' };    
const char* fmt = (rank > 8) ? "%c%c" : "%d%c";    
printf(fmt, rank_code[rank], suit_code[suit]);
→ Ссылка