C语言用指针来实现猜数字游戏,不用全局和静态变量,变成指针来实现数值传递。
时间: 2024-02-01 09:16:11 浏览: 18
好的,下面是一个用指针实现猜数字游戏的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int generateRandomNumber() {
srand(time(NULL));
return rand() % 100 + 1;
}
void guessNumber(int* guess) {
int number = generateRandomNumber();
int tries = 0;
int guessNum;
printf("I'm thinking of a number between 1 and 100. Can you guess what it is?\n");
do {
printf("Enter your guess: ");
scanf("%d", &guessNum);
if (guessNum > number) {
printf("Too high! Try again.\n");
} else if (guessNum < number) {
printf("Too low! Try again.\n");
}
tries++;
} while (guessNum != number);
*guess = tries;
}
int main() {
int guess;
guessNumber(&guess);
printf("Congratulations! You guessed the number in %d tries.\n", guess);
return 0;
}
```
在这个示例代码中,我们使用 `generateRandomNumber` 函数来生成一个 1 到 100 之间的随机数,然后在 `guessNumber` 函数中进行猜数游戏。我们将 `guess` 参数作为指针传递给 `guessNumber` 函数,以便在函数执行完毕后获取游戏尝试次数。最后,在主函数中,我们打印出玩家猜中数字所需的尝试次数。