goto介绍
- 利用了goto和if语句来实现了循环功能,它与while实现的循环功能一样
int day = 1;
loop:
if (day <= 31)
{
printf("%d\n", day);
day++;
goto loop;
}
setjmp,longjmp介绍
#include <setjmp.h>
env 必须是一个全局的变量。setjmp 和 longjmp 的第一个参数都是它。
int setjmp(jmp_buf env); // 第一次调用 setjmp 返回0 。
void longjmp(jmp_buf env, int val);
调用 longjmp 后,将再次调用 setjmp ,此时 setjmp 返回 val ,也就是 longjmp 的第二个参数。
不管 longjmp 在哪里,只要用设置好的 env 调用,就能马上跳到 setjmp 了。