这仅适用于C语言,仍在学习......
假设我们在这里有一些包含2个do..while
循环的函数代码:
int loops()
{
do //Execute this loop first then never again (instead, use second loop)
{
/*do something*/
} while(condition);
do
{
/*do something*/
} while(condition);
return;
}
在第一次运行时运行第一个do..while
循环的最佳方法是什么?当我们回到此函数时,始终运行 second {{ 1}}循环?
答案 0 :(得分:4)
您可以使用功能参数:
int loops (int loopNumber) {...}
或 2个不同的功能。
如果你想使用相同的功能,我做的方法是声明一个静态变量来检查该功能是否先前被调用过:
int loops()
{
static int var = 0;
int returnVal = 0;
if (!var) {
do //Execute this loop first then never again (instead, use second loop)
{
/*do something*/
} while(condition);
var = 1;
} else {
do
{
/*do something*/
} while(condition);
}
return returnVal;
}
您也可以使用全局变量来执行此操作,并且代码变化很小:
int var = 0;
int loops()
{
int returnVal = 0;
if (!var) {
do //Execute this loop first then never again (instead, use second loop)
{
/*do something*/
} while(condition);
var = 1;
} else {
do
{
/*do something*/
} while(condition);
}
return returnVal;
}