gpt4 book ai didi

对没有 void 的调用方法感到困惑

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

我无法理解调用方法时使用 void 的结果。下面是调用 test()main()test() 返回 void

如果我调用 void test()(使用 void),执行似乎停止了:test() 没有打印结果

如果我调用 test()(没有 void),执行工作正常。

这是什么逻辑?我在想调用中的 void 这个词不知何故在等待 test() 的返回,但它永远不会出现?但那不是在 test() 完成打印工作之后吗?在调用中它是否发送 voidtest() 不处理它?<​​/p>

注意:这是来自 Propeller 微 Controller 的 C 语言,可能逻辑与 PC 上的 C 不同。非常感谢。

#include "simpletools.h";
void testerForVoid(); //forward declare

int main(void)
{
print("Begin main");

// option 1 - no void - works
testerForVoid();

// option 2 - with void - fails
void testerForVoid();

return 0;
}

void testerForVoid()
{
print("\nBegin testForVoid");
}

最佳答案

void 仅在函数声明中使用。当您调用返回类型为 void 的函数时,只需调用它而不使用 void

  • 使用 void testerForVoid(); 声明一个返回 void 的函数,作为您案例中声明的 forward。

  • 使用testerForVoid();调用函数。

在您的示例中,对于选项#2,它倾向于再次声明已经预先声明的函数。没有真正的功能全部进行。

关于对没有 void 的调用方法感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21153433/

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