我知道这有多种方法,但我试图让用户输入一个字符并将该字符转换为特定的整数以供以后使用。我正在使用#define
常量来简化事情,以防以后需要更改。我为 userChoice 获得的值不是 0、1 或 2,而是一个很大的数字,所以出了点问题。
这些是代码的相关部分。
#define ROCK 0
#define PAPER 1
#define SCISSORS 2
void getData (int* userChoice)
{
char charvalue;
printf("\n\nEnter the R, P, S, or Q (for quit) ");
scanf("%c", &charvalue);
charvalue = toupper(charvalue);
if (charvalue == 'R')
*userChoice = ROCK;
else if (charvalue == 'P')
*userChoice = PAPER;
else if (charvalue == 'S')
*userChoice = SCISSORS;
else if (charvalue == 'Q')
exit (1);
else
printf("\nerror");
printf("%d", userChoice);
return;
}