写出下面程序执行后的运行结果,给出详细计算过程

写出下面程序执行后的运行结果___。

#include 
int main()
{
    char    a[8] = { ' ' }, t;
    int    j, k;
    for ( j = 0; j < 5; j++ )
        a[j] = (char) ('a' + j);
    、 for ( j = 0; j < 4; j++ )
    {
        t = a[4];
        for ( k = 4; k > 0; k-- )
            a[k] = a[k - 1];
        a[0] = t;
    }
    printf( "%s", a );
    return(0);
}

帮帮忙给出详细的解题思路步骤,不明白答案怎么算出来的

第一个j循环完后a为a,b,c,d,e
第二个j循环开始,j=0,t=e,k循环后,a0=t后a为e,a,b,c,d
j=1,t=d,k循环后,a0=t后a为d,e,a,b,c
j=2,t=c,k循环后,a0=t后a为c,d,e,a,b
j=3,t=b,k循环后,a0=t后a为b,c,d,e,a
输出a为b,c,d,e,a

就是将初始字符串abcde进行循环转圈,最后输出字符串a
结果应该是bcdea,因为循环了四次
每次循环,每个字符向右移动一位,最右侧的字符移动到最左侧
所以四次移动后字符串分别为
eabcd
deabc
cdeab
bcdea

供参考:

#include <stdio.h>
int main()
{
    char  a[8] = { ' ' }, t;
    int   j, k;
    for (j = 0; j < 5; j++)
        a[j] = (char)('a' + j);//a[0]='a' ,a[1]='b' ,a[2]='c' ,a[3]='d' ,a[4]='e'
    for (j = 0; j < 4; j++) //将字符串 a 每个字符右移一位,共移动四次。
    {                           // 第一次:j=0,eabcd
        t = a[4];               // 第二次:j=1,deabc
        for (k = 4; k > 0; k--) // 第三次:j=2,cdeab
            a[k] = a[k - 1];    // 第四次:j=3,bcdea ,结束跳出循环
        a[0] = t;
    }
    printf("%s", a);   //最终输出:bcdea
    return(0);
}