2016-07-16 3 views
-4

Вот функция, используемая в моем основном. Вопрос заключается в задаче char.Назначение символов для * char не работает

void takeTurn(int *iap, int *tile, char *cap) { 
    //*iap is 1 right now 

    printf("\nThe current active player is %d. His character is %c", *iap, *cap); 
    //prints The current active player is 1. His character is q. 

    if (*iap == 1) *cap == 'X'; 
    if (*iap == 2) *cap == 'O'; 

    printf("\nThe current active player is %d. His character is %c", *iap, *cap);. 
    //prints The current active player is 1. His character is q. 

    . . . 
} 

Что должно быть сделано таким образом, *cap присваивает надлежащее char для надлежащего активного игрока?

+7

'* крышка == 'X'' ->' * Колпачок =' X'' – BLUEPIXY

+1

Да, это было очень глупая ошибка. – Naltroc

ответ

2

Вы используете оператор сравнения равенства ==, где вместо этого вы должны использовать оператор назначения =.

Изменить эти заявления:

*cap == 'X'; 
*cap == 'O'; 

К этим вместо:

*cap = 'X'; 
*cap = 'O'; 
+0

Я чувствую себя глупо, что не заметил этого. Спасибо. – Naltroc

Смежные вопросы