b-=5好像是一点用处没有。因为b在初始就模3余1,然后还不断地自己每次加3,肯定还是都是余1,又因为continue语句,所以b-=5根本不执行。答案是八是因为,如果b大于20就退出循环,a的值实际上就是执行了几次循环,很明显,b的值有以下变化1 4 7 10 13 16 19 22共8个。(循环次数按执行了for那行语句的次数来算)所以a为8