setjmp的使用 -循环求1~100的和

来源:互联网 发布:300533 冰川网络 编辑:程序博客网 时间:2024/06/05 02:57
#include <stdio.h>#include <stdlib.h>#include <setjmp.h>//循环求和void func(int i, int* p){    *p += i;}void main(){    int i= 0, sum = 0, flag;    int *p;    p = &sum;    jmp_buf env;    //当第一次调用setjmp(),它的返回值为零。之后调用longjmp(),longjmp()的第二个参数即为setjmp()的返回值。    flag = setjmp(env);    if (i <= 100)    {        func(i, &sum);        i++;        longjmp(env, 2);//  longjmp( jmp_buf envbuf, int status );  status不能设定为零。    }    printf("sum = %d\n", sum);    system("pause");}
0 0
原创粉丝点击