goto跳转
例:
|
|
如上,满足条件跳转到pb标签位置,使用标签:代码语句
的形式,表明标签处要处理的代码
建议不使用goto,维护麻烦
非局部跳转
需要引入标准库,#include <setjmp.h>
例:
|
|
最后输出
|
|
setjmp(env),会从env中,获取到状态信息,首次调用返回0;longjmp(env, state),会恢复state,并存入到env中,然后跳转到最近一次执行的setjmp(evn)中去,去重新执行。
setjmp(env)的返回值,只有首次调用才返回0;
其它时候应该由longjmp()传入一个非0的值,以用于后期处理。
同样的,这个跳转方式,也不推荐,看着太晕了