gpt4 book ai didi

c++ - 错误: ISO C forbids comparison between pointer and integer

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

我是编程新手,刚刚读完 Dan Gookin 的《C for Dummies》。但我想我正在尝试制作小程序来感受一下这门语言。

我了解到 C 中有一个随机计数器(不是那么随机),显然使用计算机内部时钟有助于使随机计数器更加随机。我在书中看到了一个代码示例,当我想在网格中 printf() 随机数时它可以工作。但现在我希望程序将其限制为仅 3 个数字,但我不想以数字形式打印数字,而是有兴趣学习如何让计算机以随机方式返回 printf() 函数。它不一定是 printf() 它实际上可以是任何函数,但这似乎是最简单的检查方法。

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


int rnd(int range);
void seedrnd(void);

int main()
{
int x;

seedrnd();
for(x=0;x<1;x++)
// printf("%i\t" ,rnd(3));
if(seedrnd==0)
printf("Zero");
else if(seedrnd==1)
printf("One");
else
printf("Two");
return(0);
}

int rnd(int range)
{
int r;

r=rand()%range;
return(r);
}

void seedrnd(void)
{
srand((unsigned)time(NULL));
}

最佳答案

您放置了 seedrnd (指向 seedrnd 函数的指针)而不是对 rnd(int) 的调用。您的意思是在比较表达式中调用一个函数,而不是使用它的名称:

for(x=0;x<1;x++) {
int r = rnd(3); // Call rnd(3)
printf("%i\t", r);
if(r==0) // Use r, not seedrnd
printf("Zero");
else if(r==1)
printf("One");
else
printf("Two");
}

关于c++ - 错误: ISO C forbids comparison between pointer and integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18862679/

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