- 打卡等级:常住居民III
- 打卡总天数:143
- 最近打卡:2026-03-08 08:36:28
已绑定手机
论坛元老
- 积分
- 3529
|
发表于 2025-12-27 21:51:47
|
显示全部楼层
for 循环:
#define task_for(init, cnt) init;user_task[_this_task].state = __LINE__;\
case __LINE__: for(_task_for_cnt = 1;_task_for_cnt--;cnt,user_task[_this_task].state = __LINE__)
//传入两个表达式,init是初始化(仅调用一次),cnt是自增自减表达式(每次运行都调用一次(task_for_end返回来也算))
init,是初始化
init;user_task[_this_task].state = __LINE__;\仅执行一次
case __LINE__: 这里是当前行,意思是以后每次进来都从这里开始
接下来:
for(_task_for_cnt = 1;_task_for_cnt--;cnt,user_task[_this_task].state = __LINE__)
extern char _task_for_cnt;//使用task_for时所需的临时变量
看:cnt,user_task[_this_task].state = __LINE__)
,逗号的意思是当前的语句没有完成,(for本身是靠;来分别)把当前的state 变成当前的行
保证下次继续进入case __LINE__:
看下图:
|
|