结果是31,因为你的程序里面case 后面都没有break语句跳出,所以会依次执行下去,知道循环结束,具体来说就是当i=1的时候先执行case1,在执行case2,在执行default 此时a=8;然后执行i++,i=2,然后执行case2,在执行default 此时a先加3在加5就等于16,在执行i++,i=3,然后依次执行case3,case1(什么都没做),case2,defaultcase3此时a=16+2+3+5=26;然后就是i++,i=4,执行default a=a+5=31,i++,i=5,不满足循环条件跳出循环,程序结束,a=31;希望采纳