三个汉字全排列(c语言编写)感谢大佬

如孙行者
运行后结果是
行者孙
行孙者
......

#include <stdio.h>
int main()
{
    char s[10] = "孙行者";
    int i,j;
    for(i=0;i<=4;i+=2)
    {
        printf("%c%c",s[i],s[i+1]);
        printf("%c%c",s[(i+2)%6],s[(i+2)%6+1]);
        printf("%c%c\n",s[(i+4)%6],s[(i+4)%6+1]);
        printf("%c%c",s[i],s[i+1]);
        printf("%c%c",s[(i+4)%6],s[(i+4)%6+1]);
        printf("%c%c\n",s[(i+2)%6],s[(i+2)%6+1]);

    }
    return 0;
}