Board logo

标题: 批中怎么实现c语言中break的功能。 [打印本页]

作者: yqadsq1314     时间: 2010-2-6 22:49    标题: 批中怎么实现c语言中break的功能。
for /l %%a in (1,2,3) do (
for /l %%b in (1,1,5) do (
if %%b==4 goto:eof
echo %%a%%b
)
)

引用
在for 语句中使用goto :eof表示不执行本次循环后面的指令,继续下一循环,但不会跳出for语句
本意结果为:11 12 13 21 22 23 31 32 33
结果为:11 12 13
好象goto :eof 不能结束当前循环进入上层循环。
不知道各位高人怎么在for中嵌套for进行if 判断条件成立后结束当前循环,进入上层。

作者: slore     时间: 2010-2-7 09:23
拆开

@echo off

for /l %%a in (1,1,3) do (
Call :For2 %%a
)
pause
exit

:For2
for /l %%b in (1,1,5) do (
if %%b==4 goto:eof
echo %1%%b
)

作者: yqadsq1314     时间: 2010-2-7 11:14
谢谢指点。帮我解决了一大难题,经常碰到这样的情况。
原来for嵌套for中,goto:eof不具有BREAK的功能。

作者: slore     时间: 2010-2-7 11:42
EOF=END OF FILE

goto :eof是到文件结尾的意思