gpt4 book ai didi

c - 函数和指针

转载 作者:行者123 更新时间:2023-11-30 19:06:16 25 4
gpt4 key购买 nike

我必须显示程序的输出并解释它的作用。函数的参数在哪里?

int main(void)
{
printf("Answer: %d\n", f1(f2));
return 0;
}
int f1(int (*f)(int))
{
int n = 0;
while ((*f)(n))
n++;
return n;
}
int f2(int i)
{
return i * i + i - 12;
}

最佳答案

首先你错过了函数的声明。如果我们认为它们在应该在的位置,那么您将函数指针传递给函数f1,然后您在while循环的条件中执行它,如果结果是这样的话为非零(f2 的结果),则条件变为 true,并且执行 n++ 或将 n 增加 1.

它以(f2返回的值)-12开始,然后-10然后-6然后0。因此,您的函数将返回 3。所以输出是

Answer: 3
<小时/>

注意:int (*f)(int) 表示 f 是一个指向函数的指针,该函数返回一个 int 并接受一个 int 作为参数。

关于c - 函数和指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48369241/

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