gpt4 book ai didi

c - for 循环不会在函数内循环 - C

转载 作者:行者123 更新时间:2023-11-30 18:31:55 26 4
gpt4 key购买 nike

我刚刚开始使用 C,但无法在返回 bool 的函数内部使用简单的 for 循环。该程序是一个简单的猜谜游戏。

这是我的代码:

//standard input and output header
#include <stdio.h>
#include <conio.h>
#include <stdbool.h>

bool CheckGuess(int guess, int nums[]);

int main(void)
{
int nums[5];
int i;
int userGuess;

for (i = 0; i < sizeof(nums)/sizeof(int); i++)
{
nums[i] = 1 + rand() % 5;
}

printf("Guessing Game\n\n");

printf("Guess a number between 1 and 5: ");
scanf("%d", &userGuess);

if (CheckGuess(userGuess, nums))
{
printf("You win!");
}
else
{
printf("You lose!\nThe correct numbers are:\n\n");
for (i = 0; i < sizeof(nums)/sizeof(int); i++)
{
printf("%d\n", nums[i]);
}
}

//get character, wait/pause
getch();
}

bool CheckGuess(int guess, int nums[])
{
int z;
for (z = 0; z < sizeof(nums)/sizeof(int); z++)
{
printf("%d\n", z); //z just stops at 0 all the time

if (guess == nums[z])
{
return true;
}
}
return false;
}

最佳答案

当你编写 CheckGuess() 时,你需要这样做:

bool CheckGuess(int guess, int nums[], int numsCount)

然后用以下方式调用它:

if (CheckGuess(userGuess, nums, sizeof nums / sizeof *nums)

Checkguess 没有“接收”尺寸。在该函数内部它只是一个指针。

关于c - for 循环不会在函数内循环 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18470751/

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