[英]How to get back to the top of 'main' after executing a void outside 'main'
完全执行函数后如何才能回到main
函数的顶部?
示例代码:
#include <stdio.h>
void function();
int main(int argc, char const *argv[]) {
// GET BACK TO HERE AFTER EXECUTING "FUNCTION();"
printf("Something here\n");
printf("Something here\n");
printf("Something here\n");
printf("Something here\n");
printf("Something here\n");
function();
}
function(){
}
使用while循环:
#include <stdio.h>
int main() {
bool keep_going = true;
while (keep_going) {
// Your main() code here.
function();
// Don't forget to set keep_going to false at some point so the program terminated.
}
return 0;
}
上面的构造是一个while循环。 它继续执行循环体(在大括号之间),直到循环开始的条件为假。
不要使用转到。 Goto虽然有效,但通常被认为是像宏一样的“邪恶”结构,因为它们使得跟踪程序流程变得更加困难,并且通常会导致意大利面条代码。 while循环在这里工作得很好,被认为是很好的编程风格。
要清楚, goto
(如宏)存在,因为它在某些情况下很有用。 但是这些情况并不经常发生,并且通过将它们标记为“邪恶”,人们理解如果存在更好的替代方案(如循环),则应该避免使用该特征。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.