gpt4 book ai didi

c - 在 C 中使用变量表示函数

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

这具有我想要的功能(并且有效)

#include <stdio.h>
//includes other libraries needed

int foo();

int main()
{
while(true)
{

while(foo()==1)
{
//do something
}

//does other unrelated things

}

}

int foo()
{
// Returns if a switch is on or off when the function was called
// on return 1;
// off return 0;
}

但是,我希望这种情况发生:

#include <stdio.h>
//includes other libraries needed

int foo();

int main()
{
while(true)
{
//THIS IS THE PROBLEM
int something = foo();

while(something==1)
{
//do something
}

//does other unrelated things

}

}

int foo()
{
// Returns if a switch is on or off when the function was called
// on return 1;
// off return 0;
}

如何在每次调用内部 while 循环时更新 something 变量?我知道它与 &* 的引用和指针有关,但我无法在网上找到关于此的示例。

此外,我无法在 foo() 函数中编辑任何内容。

最佳答案

我想这就是你的意思:它使用函数指针来表示函数foo。稍后它将其分配给函数bar:

#include <stdio.h>
//includes other libraries needed

int foo();
int bar();

int main()
{
while(true)
{
int (*something)() = &foo;

while(something()==1)
{
something = &bar;
}

//does other unrelated things

}

}

关于c - 在 C 中使用变量表示函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528799/

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