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

时间:2014-01-16 04:38:26

标签: c methods call void

在调用方法时,我无法理解使用void的结果。以下是调用main()的{​​{1}}。 test()返回test()

如果我致电void(使用void test()),执行似乎就会停止:void无法打印

如果我致电test()(否test()),执行工作正常。

这是什么逻辑?我在想,呼叫中的void这个词在某种程度上等待从void返回,这种情况从未发生过?但在test()完成印刷工作之后不会这样吗?在通话中是发送test()void还是不处理它?<​​/ p>

注意:这是用于Propeller微控制器的C语言,也许逻辑与PC上的C不同。非常感谢。

test()

5 个答案:

答案 0 :(得分:1)

void仅用于函数声明。当您使用void返回类型调用函数时,只需在不使用void的情况下调用它。

  • 使用void testerForVoid();声明一个返回void的函数,作为在您的情况下声明的转发。

  • 使用testerForVoid();来调用该功能。

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

答案 1 :(得分:1)

void testerForVoid();声明一个返回void(什么都不做)的函数

testerForVoid();调用函数

答案 2 :(得分:0)

选项1是对已经声明的函数testerForVoid()的调用。

选项2是函数testerForVoid()的声明。这失败了,因为它已经被声明了。

答案 3 :(得分:0)

实际上这只是声明:

void testerForVoid(); 

这是实际的电话。

testerForVoid(); 

答案 4 :(得分:0)

您可以调用这样的函数,

void Fun()
{
    printf("Fun");
}
int main(int argc, char* argv[])
{
    (void) Fun();//like this
    return 0;
}

只是为了显示你的函数返回void。