Как вывести несколько символов при выводе элементов из массива?
Имеем 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]);