不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
call和goto的异同点
编辑:dnawo 日期:2008-04-25
复制内容到剪贴板
程序代码

@echo off
echo 早上好!
goto :noon
echo 该睡觉了!&pause>nul
:noon
echo 中午好!
:night
echo 晚上好!
pause>nul
echo 早上好!
goto :noon
echo 该睡觉了!&pause>nul
:noon
echo 中午好!
:night
echo 晚上好!
pause>nul
结果为:

早上好!
中午好!
晚上好!
[按任意键退出]
中午好!
晚上好!
[按任意键退出]
复制内容到剪贴板
程序代码

@echo off
echo 早上好!
call :noon
echo 该睡觉了!&pause>nul
:noon
echo 中午好!
:night
echo 晚上好!
pause>nul
echo 早上好!
call :noon
echo 该睡觉了!&pause>nul
:noon
echo 中午好!
:night
echo 晚上好!
pause>nul
结果为:

早上好!
中午好!
晚上好!
[按任意键]
该睡觉了!
[按任意键]
中午好!
晚上好!
[按任意键退出]
中午好!
晚上好!
[按任意键]
该睡觉了!
[按任意键]
中午好!
晚上好!
[按任意键退出]
从上边两个例子我们已经可以很明白的看出call和goto的异同点了:
相同点:call和goto都可以将流程跳转到标签处。
不同点:goto将流程跳转到标签处后,程序从标签处开始执行到结束,整个流程执行完毕;call将流程跳转到标签处后,程序从标签处开始执行到结束[1],然后会跳转回执行call的下一条语句,直到整个流程执行完毕;所以call并不会像goto那样打乱了流程,它只是中断了当前流程,但仍保证整个流程按原顺序进行。
[1]在第二个例子中我们可以在标签后适当的地方调用goto :eof,使流程提前结束,提前将流程转移call的下一条语句:
复制内容到剪贴板
程序代码

@echo off
echo 早上好!
call :noon
echo 该睡觉了!&@pause>nul
:noon
echo 中午好!
goto :eof
:night
echo 晚上好!
goto :eof
pause>nul
echo 早上好!
call :noon
echo 该睡觉了!&@pause>nul
:noon
echo 中午好!
goto :eof
:night
echo 晚上好!
goto :eof
pause>nul
执行结果已和例二有所不同,先显示:

早上好!
中午好!
该睡觉了!
中午好!
该睡觉了!
按任意键后接着显示"中午好!",到goto :eof后退出!
很显然,如果在例一中加入goto :eof则只是提前结束了流程。
评论: 0 | 引用: 0 | 查看次数: 4759
发表评论
请登录后再发表评论!