gpt4 book ai didi

将 char 转换为 int 无效

转载 作者:行者123 更新时间:2023-12-04 22:43:25 25 4
gpt4 key购买 nike

我知道有多种方法,但我试图让用户输入一个字符并将该字符转换为特定的整数以备后用。我正在使用 #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;

}

最佳答案

您打印整数的地址,而不是值。要打印值,使用 *userChoice

printf("%d", *userChoice);

关于将 char 转换为 int 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15301556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com