2016-07-16 18 views
-4

Hier ist eine Funktion in meinem Haupt verwendet. Das Problem liegt in char Zuordnung.Char Zuordnung zu * Char funktioniert nicht

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. 

    . . . 
} 

Was muss getan werden, damit die *cap die richtige char auf den richtigen aktiven Spieler zuweist?

+7

'* cap == 'X'' ->' * cap =' X'' – BLUEPIXY

+1

Ja, das war ein sehr dummer Fehler. – Naltroc

Antwort

2

Sie verwenden den Gleichheitsvergleichsoperator ==, in dem Sie stattdessen den Zuweisungsoperator = verwenden sollten.

ändern diese Aussagen:

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

Um diese stattdessen:

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

Ich fühle mich albern, das nicht bemerkt zu haben. Vielen Dank. – Naltroc