这个该执行的都执行了,有些地方你估计没弄明白。schedule () at schedule.c:3131 int i = (last_task_nr == 0) ? last_task_nr = 1 : last_task_nr;->这个就执行了你打印的那一句。38 if (task == NULL)->这个就执行了你打印的另外一句。因为没有全部程序,不清楚 task、last_task_nr 究竟怎么回事。修改:i的问题:volatile int i = xxxxxxxx;如果还有问题:你可以:例如 volatile int * volatile task;出问题的都加上。不...