Итак, я пытаюсь закончить эту программу, и все, что мне нужно сделать, это реализовать какую-то форму ввода для этой карточной игры, но до сих пор все, что я пробовал, просто бесконечно (или до тех пор, пока У меня заканчиваются элементы в массиве), и я не знаю, что я делаю неправильно, как логически, когда я смотрю на свой код, это, кажется, имеет смысл.Если оператор продолжает цикл - c
void players(int deck[])
{
int x;
int a;
a = 1;
printf("Player 1 \n");
printf("Your Hand is: \n");
draw(deck, a);
draw(deck, a);
while(a = 1)
{
printf("What would you like to do: Press 1 to Draw. 2 to Stay. \n");
scanf("%d" , &x);
if(x = 1)
{
draw(deck, a);
}
else
{
a--;
}
}
}
Это вход в вопрос
void draw(int deck[SIZE], int a)
{
int numCards = 10;
int i;
int hand[numCards];
int card;
for(i = 0; i < numCards && top > 0; i++)
{
card = deck[top-1];
hand[i] = card;
top--;
}
if(a != 0)
printcards(card);
else
for(i = 0; i < numCards && top > 0; i++)
printcards(card);
}
Это функция Loop работает рисовать карты (printcards отдельная функция, которая печатает только от карты) игроков звонки рисовать, и это работает но, как было заявлено, он будет бесконечно звонить в карты, даже когда я нажимаю 2 (который, как предполагается, должен выйти). Поэтому я не совсем уверен, что я делаю неправильно.
Try 'в то время как (х == 1') вместо этого. То же самое для 'while (a == 1)' – WhozCraig
Вы пробовали переходить через ваш код, строко за строкой, пытаясь выполнить его в своей голове, прочитывая каждое утверждение вслух? –
Я не согласен, что это должно быть закрыто как локализованное? Это обычная ошибка начинающего. Может быть, я что-то упустил? –