在本教程中,我们将讨论一个程序,以了解C / C ++中的协程。
协程是控制指令,可在两个例程之间切换执行控制,并返回其中的任何一个。
#include<stdio.h> int range(int a, int b){ static long long int i; static int state = 0; switch (state){ case 0: state = 1; for (i = a; i < b; i++){ return i; //返回控制 case 1:; //resuming control } } state = 0; return 0; } int main(){ int i; for (; i=range(1, 5);) printf("control at main :%d\n", i); return 0; }
输出结果
control at main :1 control at main :2 control at main :3 control at main :4