gpt4 book ai didi

C - 这段代码有什么问题,在用户输入他的猜测后它不会继续?

转载 作者:太空宇宙 更新时间:2023-11-04 07:45:59 25 4
gpt4 key购买 nike

正如您在上面看到的那样,问题是在用户输入他的代码后循环不会继续,我想知道这是为什么,如果您对我有更好的目的。我是 C 语言的新手,非常感谢帮助!!!!!!

#include <stdlib.h>
#include <stdio.h>

int main()
{

int randomNumber = 11;
int usersGuess;
int i;

do {
printf("You need to guess a number between 0 and 20! Good Luck! \n");

for (i = 5; i > 0; i--) {
printf("You have got %d amount of tries, Guess The random number: ", i);
scanf_s("%d", usersGuess);

if (usersGuess == randomNumber) {
printf("You won");
break;
} else if (usersGuess > randomNumber) {
printf("That is wrong, random number is less than that");
} else if (usersGuess < randomNumber) {
printf("that is wrong, the random number is higher than that");
} else if (usersGuess > 20) {
printf("please guess again cause the random number is between 0 and 20");
}
}


} while(i > 0);




return 0;
}

最佳答案

你的代码有未定义的行为,这意味着它有错误,任何事情都有可能发生。问题是您将一个整数传递给 scanf_s 它需要一个指针。这样做:

scanf_s("%d", &usersGuess);

原因是您希望函数写入变量usersGuess。在 C 中,所有参数都是按值传递的,因此如果您想要输出参数,则必须将其设为指针。

关于C - 这段代码有什么问题,在用户输入他的猜测后它不会继续?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56992031/

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