在完全执行函数后,如何回到main
的顶部?
示例代码:
#include <stdio.h>
void function();
int main(int argc, char const *argv[]) {
// GET BACK TO HERE AFTER EXECUTING "FUNCTION();"
printf("Something heren");
printf("Something heren");
printf("Something heren");
printf("Something heren");
printf("Something heren");
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 循环。它不断执行循环主体(在大括号之间),直到循环开始时的条件为 false。
不要使用转到。Goto虽然有效,但通常被认为是像宏一样的"邪恶"结构,因为它们使跟踪程序流变得更加困难,并且通常会导致意大利面条代码。while 循环在这里工作得很好,被认为是好的编程风格。
需要明确的是,goto
(如宏)之所以存在,是因为它在某些情况下很有用。但是这些情况并不经常发生,通过将它们标记为"邪恶",人们明白如果存在更好的替代方案(如循环),则应避免使用该功能。