根据提示更新用户输入 C
Updating user inputs based on prompts C
下面的代码读取用户的输入,如果用户给出的 input
介于
1 和 9 playerselect
数字 k
更新为 1 或 2。如果 input
超出范围,则 input
被重新提示给用户。但是,在 2 提示 k
值更新后存在问题。而不是导致 Player 1 input
两次的代码应该是 Player 1 input
然后是 Player 2 input
.
int main(void)
{
char playerSelect[][2] = {"1", "2"};
int k=0;
for(int i=1; i <= 18; i++){
printf("\nPlayer %s input:", playerSelect[k]);
scanf("%d",&input);
if ((i % 2 == 0) && (1<= input <= 9)){k = 0;}
else if ((i % 2 == 1) && (1<= input <= 9)){k = 1;}
else {printf("Input out of bounds please input again");}
}
return 0;
}
输出:
Player 1 input:10
Input out of bounds please input again
Player 1 input:2
Player 1 input:2
Player 2 input:4
想要的输出
Player 1 input:10
Input out of bounds please input again
Player 1 input:2
Player 2 input:2
Player 1 input:4
好吧,每次给出 越界 输入时,您必须循环直到获得正确的输入,然后更新 k
值。
#include <stdio.h>
int main(void)
{
int input = 0, k = 0;
char playerSelect[][2] = {"1", "2"};
for (int i = 1; i <= 18; i++)
{
printf("\nPlayer %s input: ", playerSelect[k]);
scanf("%d", &input);
while (input > 9 || input < 1)
{
puts("Input out of bounds please input again");
printf("\nPlayer %s input: ", playerSelect[k]);
scanf("%d", &input);
}
k = ((i % 2 == 0) ? 0 : 1);
}
return 0;
}
下面的代码读取用户的输入,如果用户给出的 input
介于
1 和 9 playerselect
数字 k
更新为 1 或 2。如果 input
超出范围,则 input
被重新提示给用户。但是,在 2 提示 k
值更新后存在问题。而不是导致 Player 1 input
两次的代码应该是 Player 1 input
然后是 Player 2 input
.
int main(void)
{
char playerSelect[][2] = {"1", "2"};
int k=0;
for(int i=1; i <= 18; i++){
printf("\nPlayer %s input:", playerSelect[k]);
scanf("%d",&input);
if ((i % 2 == 0) && (1<= input <= 9)){k = 0;}
else if ((i % 2 == 1) && (1<= input <= 9)){k = 1;}
else {printf("Input out of bounds please input again");}
}
return 0;
}
输出:
Player 1 input:10
Input out of bounds please input again
Player 1 input:2
Player 1 input:2
Player 2 input:4
想要的输出
Player 1 input:10
Input out of bounds please input again
Player 1 input:2
Player 2 input:2
Player 1 input:4
好吧,每次给出 越界 输入时,您必须循环直到获得正确的输入,然后更新 k
值。
#include <stdio.h>
int main(void)
{
int input = 0, k = 0;
char playerSelect[][2] = {"1", "2"};
for (int i = 1; i <= 18; i++)
{
printf("\nPlayer %s input: ", playerSelect[k]);
scanf("%d", &input);
while (input > 9 || input < 1)
{
puts("Input out of bounds please input again");
printf("\nPlayer %s input: ", playerSelect[k]);
scanf("%d", &input);
}
k = ((i % 2 == 0) ? 0 : 1);
}
return 0;
}