The code shoul be something like: printf ("qx|o"%d"|md|%d", board+1, (board+2)%4+1); for (player=COMPASS_NORTH; player<=COMPASS_WEST; player++) { for (suit = SUIT_SPADE; suit>= SUIT_CLUB; suit--) { printf ("SHDC"[suit]); for (rank=12; rank >= 0; rank--) { if (HAS_CARD(d, player, MAKECARD(suit,rank))) { printf ("%c", representation[rank]); } } } if (player < COMPASS_WEST) {printf (",");} } printf ("\n"); (didnt test, dont have a C compiler handy)