7
回答
这样的代码,实在不理解是怎么运行的啊
终于搞明白,存储TCO原来是这样算的>>>   
#include <stdio.h>

typedef struct
{
    int i;
    int num;
    int state;
} task;

int cb(task *t)
{
    switch (t->state) {
    case 0:
        for (;;) {
            t->num = 1;
            for (t->i = 0; t->i < 20; t->i++) {
                t->state = __LINE__ + 2;
                return t->num;
    case __LINE__:
                t->num += 1;
            }
        }
    }
}

int main()
{
    task t;
    int i;

    t.state = 0;

    for (i = 0; i < 100; i++) {
        printf("%d ", cb(&t));
    }
    return 0;

}

就是 cb 函数内, case 语句插入了for循环中,不知道为什么能这样写,组后输出结果是5组 1~20的序列


<无标签>
举报
吾爱
发帖于3年前 7回/472阅
顶部