Function 如何从循环中调用的函数中使用if语句退出循环(while循环)?
就像:Function 如何从循环中调用的函数中使用if语句退出循环(while循环)?,function,variables,loops,if-statement,while-loop,Function,Variables,Loops,If Statement,While Loop,就像: void aLoop(){ int i = 0; while(i < 10){ aFunction(); i++; } } int aFunction(int i){ if(aVariable == 1){ i = 10; } if(aVariable != 1){ statement; statement; i = i; } return i; } void
void aLoop(){
int i = 0;
while(i < 10){
aFunction();
i++;
}
}
int aFunction(int i){
if(aVariable == 1){
i = 10;
}
if(aVariable != 1){
statement;
statement;
i = i;
}
return i;
}
void aLoop(){
int i=0;
而(i<10){
函数();
i++;
}
}
int A函数(int i){
如果(变量==1){
i=10;
}
如果(变量!=1){
陈述
陈述
i=i;
}
返回i;
}
其中,将为每个i(0,1,2,3,…,9)调用函数(),并且每个调用将满足第一个if语句或第二个if语句
假设声明了所有函数和变量,如果aVariable==1,这是否能够停止while循环
否则你怎么能完成同样的事情呢
我对编程真的没有经验
固定的:
void aLoop(){
int i = 0;
while(i < 10){
i = aFunction(i);
i++;
}
}
int aFunction(int i){
if(aVariable == 1){
i = 10;
}
if(aVariable != 1){
statement;
statement;
i = i;
}
return i;
}
void aLoop(){
int i=0;
而(i<10){
i=功能(i);
i++;
}
}
int A函数(int i){
如果(变量==1){
i=10;
}
如果(变量!=1){
陈述
陈述
i=i;
}
返回i;
}
而不是
aFunction(x);
只用
i = aFunction(x);
使用return终止方法 使用break终止for/while循环或switch语句
void aLoop(){
void aLoop(){
int i = 0;
do{
aFunction();
System.out.print(i+" ");
i++;
}while(i < 10);
}
int i=0;
做{
函数();
系统输出打印(i+“”);
i++;
}而(i<10);
}
您在“修复”下建议的解决方案将起作用,但如果您使用这种方法编写大型程序,您最终将使用非常复杂且成本高昂的软件。这是因为函数依赖于调用它的函数alop
。函数在理想情况下应该彼此独立,而a函数只有在从while循环调用时才起作用。您几乎不希望被调用函数依赖于调用它的函数的结构
试着编写代码,使程序的每个部分的责任或“意图”都是明确的,这样任何依赖性都是最小和明显的。你可以在这里写字
void aLoop(){
bool continueProcessing = true;
for(int i=0;
continueProcessing && i < 10;
i++) {
continueProcessing = aFunction(i);
}
}
int aFunction(int i){
bool stillProcessing = aVariable != 1;
if (stillProcessing) {
statement;
statement;
}
return stillProcessing;
}
最后,我不确定您是否需要将变量I
传递到aLoop
。如果您不这样做,或者其他一些数据更合适,那么最好也更改它。您没有提到您正在使用的语言。请使用所选语言的break
或return
语句。您可能也应该将i作为参数传递给函数。哈哈,当然,原始语言中缺少,回答中缺少:)我刚刚添加了它,thx GavinHThanks!在我的程序中,我有两个函数(I);i=函数(i)。我想它们是相互冲突的。是的,只需更改其中一个的名称。函数必须由代表性名称调用。函数不是一个很好的名字。。。试着用表示函数功能的名称来命名函数。如果你用我的答案修复了代码,请将其标记为解决方案。我正在编写的程序只会在该循环中使用function()(而i@user3259381好的,我仍然会尝试减少循环和它调用的函数之间的耦合。想象一下,被调用的函数从被调用方收到一条消息,并返回一条消息,说“再次调用我”或“不再调用我”.但我也同意你的观点,你在简化你的问题上做了一些努力,而且可能做得太好了,以至于我没有抓住问题的正确方向!
void aLoop(){
for(int i=0; i < 10; i++) {
if (!aFunction(i))
break;
}
}