求C语言的求运行结果

#include <stdio.h>

void main()
{
char c;
int i;
for(i=65;i<68;i++)
{
c=i+32;
switch(c)
{
case'a':printf("%c,",c);break;
case'b':case'e':printf("ok,");
default:printf("end");
}
}
}
请问一下运行结果是什么,思路是什么
求指教

这是大写转小写,65到67是ABC,加32转换为abc
第一次循环,c为字符'a',输出字符a和逗号
第二次循环,c为字符'b',输出ok和逗号,并且输出end字符,因为case 'b'后面没有break
第三次循环,c为字符'c',执行default,输出end
最终输出是a,ok,endend

供参考:

#include <stdio.h>
void main()
{
    char c;
    int i;
    for (i = 65; i < 68; i++) //'A'的ASCII值为65 ,‘D’ASCII值为68, i 从 6567
    {
        c = i + 32; //当 i = 6565+32 = 97 ,97 为小写字符'a'的ASCII值,以此类推 
        switch (c)
        {
        case'a':printf("%c,", c); break;//当为'a'时,输出 a,  ,跳出switch(){}
        case'b':               //这之后都没有 break ,所以当 c = 'b' 时,都输出 ok,end 
        case'e':printf("ok,");
        default:printf("end");//当 c = 'c'时,输出 end 
        }
    }
}   // 最终循环结束后输出效果:a,ok,endend