中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 19:47
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 批中怎么实现c语言中break的功能。
可打印版本  853 / 3
第1楼 yqadsq1314 发表于 2010-02-06 22:49
初级用户 发帖 26 积分 30
批中怎么实现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 判断条件成立后结束当前循环,进入上层。
第2楼 slore 发表于 2010-02-07 09:23
铂金会员 发帖 2,478 积分 5,212
拆开

@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
)
第3楼 yqadsq1314 发表于 2010-02-07 11:14
初级用户 发帖 26 积分 30
谢谢指点。帮我解决了一大难题,经常碰到这样的情况。
原来for嵌套for中,goto:eof不具有BREAK的功能。
第4楼 slore 发表于 2010-02-07 11:42
铂金会员 发帖 2,478 积分 5,212
EOF=END OF FILE

goto :eof是到文件结尾的意思
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023