Хотя я занимался программированием на Java, я новичок в C.
Я использую int s для хранения кода обозначения для колоды игральных карт от 1 до 52, например, 1 - туз червей, 15 - двойка бриллиантов и т. Д. Для демонстрации я хочу перевести их на английские фразы, то есть передать 1 и вернуть «туз червей». У меня много проблем с определением функции и вызовом этой функции, которую мой компилятор примет.
Я знаю, что строки в C проблемные, по крайней мере, для людей, которые еще не сделали этого. Я понимаю указатели и их операторы, но не очень практиковался в их использовании в программах.
Я использую MS VisualStudio 2019 с инструментарием NVidia CUDA. Я искал на веб-форумах похожие ситуации и написал код, который выглядит так, как будто он должен работать, но компилятор каждый раз отклоняет его.
void main() {
...
char descriptor[14];
designationTranslator(1, descriptor);
}
void designationTranslator(int cardDesignation, char* desc ) {
switch (cardDesignation) {
case 1: strcpy(desc, "Ace of Hearts");
break;
default:
break;
}
}
Это только одна из многих, многих версий того же базового кода, который я пробовал, и ни одна из них не пройдет проверку. Я добавил и удалил * и & все, что мог, использовал различные объявления переменных и т. Д., И ничего не работает. Я просто получаю сообщение об ошибке «Не удается найти обозначение Переводчик» независимо от того, как я пишу код.