1、对于多重循环语句的一次性跳出goto语句是最方便,几乎所有语言都提供了goto语句,当然还可使用exit for(vb6)等语句一层层跳出。
2、很多人不顾一切的反对goto语句,其实是错误的,goto用对了地方是很方便的。
3、vb6示例:(按行查找第一个值为100的元素位置)
Private Sub Command1_Click()Dim i As Integer, j As Integer, n(100, 100) As Integer
For i = 0 To 100
For j = 0 To 100
n(i, j) = Int(Rnd 100) + 1
Next
Next
For i = 0 To 100
For j = 0 To 100
If n(i, j) = 100 Then GoTo js
Next
Next
js:
DebugPrint n(i, j), i, j
End Sub
采用标签方式跳出,指定跳出位置。
具体如下:
a:for(int i=0;i<n;i++) {
b:for(int j=0;j<n;j++) {
if(n=0) {
break a;
}
}
public void forEachTest() throws Exception{
int max=100;
outer:for(int i=0;i<max;i++){
Systemoutprintln("外层for循环,第("+(i+1)+")次循环开始++++++");
扩展资料:
for循环一般形式为:
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
俩“;”号之间的条件表达式是一个关系表达式, 其为循环的正式开端,当条件表达式成立时执行中间循环体。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体 [2] 。
执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。
Pascal语言中的for循环:
for 循环变量:=初值 to/downto 终值 do
begin
循环体
end;
循环变量从起点到终点每次加1或减1(to 为加1,downto为减1)。
参考资料来源:百度百科--for循环
参考资料来源:百度百科--Java
应该先遍历数组,根据递推式求出数组全部元素
然后输入一个数就输出相应的数组元素值即可
当scanf("%d", &k)返回值为EOF时表示输入结束
C语言代码和运行结果如下:
输出符合样例,望采纳~
附源码:
#include <stdioh>
int main() {
int a[30], i, k;
a[0] = 0, a[1] = 1;
for (i = 2; i < 30; i++) // 先求出数组全部元素值
a[i] = a[i - 1] + a[i - 2];
while (scanf("%d", &k) != EOF) { // EOF为输入结束的标志
printf("%d\n", a[k]);
}
return 0;
}
多层跳出,可以用goto,但不建议用这个其实这个就是逻辑的问题,可以用赋值的方式,也就是当需要跳出多个循环的时候
可以把上基层的跳出循环的条件该为可以跳出上一层循环就可以
如
for(i=0;i<M;i++)
for(j=0;j<N;j++)
for(k=0;k<B;k++)
{
if(条件)
{
i=M;j=N;break;
}
}
这样就可以跳出这些循环了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)