在调用方法时,我无法理解使用void的结果。以下是调用main()
的{{1}}。 test()
返回test()
。
如果我致电void
(使用void test()
),执行似乎就会停止:void
无法打印
如果我致电test()
(否test()
),执行工作正常。
这是什么逻辑?我在想,呼叫中的void
这个词在某种程度上等待从void
返回,这种情况从未发生过?但在test()
完成印刷工作之后不会这样吗?在通话中是发送test()
和void
还是不处理它?</ p>
注意:这是用于Propeller微控制器的C语言,也许逻辑与PC上的C不同。非常感谢。
test()
答案 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。