问题简介如下

我的代码
#include<stdio.h>
#include<string.h>
int main()
{char a[80]={0},b[80]={0};
int m=0,n,i;gets(a);scanf("%d",&n);for(i=strlen(a)-1-n;i<strlen(a);i++)a[i]=b[m++];for(i=0;i<strlen(a)-1-n;i++)b[m++]=a[i];b[m]='\0';puts(b);}
请问为什么没有输出呢?不应该输出b串吗?
a[i]=b[m++]中,你的数组b为空值,无法对a[i]进行赋值