可以分析下为什么结果是fabcde吗?不是很懂t的作用是怎么实现的


#include <stdio.h>
int main()
{
    char a[6]={'a','b','c','d','e','f'},t;
    int i;
    t=a[5];    
    for(i=0;i<5;i++)
    {
        a[i]=a[i-1];
        for(i=0;i<=5;i++)
        printf("%c",a[i]);
    }
    return 0;
}

我输出的是bcdef
你的代码有点问题,变量t是用来保存最后一位元素的值,但你没有把他赋值给第一个元素,第一个元素的值是a[-1],有问题

#include <stdio.h>
int main()
{
    char a[6]={'a','b','c','d','e','f'};
    char t = a[5];
    int i;

    for(i=5;i>0;i--)
    {
        a[i]=a[i-1];  //元素右移1位
    }
    a[0] = t;  //最后的元素移到第一位

    for(i=0;i<6;i++)
    {
        printf("%c ",a[i]);
    }
    printf("\n");

    return 0;
}