PAT乙级1008报段错误

img

#include<stdio.h>
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);/* aÊÇÔªËØÊý£¬bÊÇÒÆ¶¯Á¿         */
int array[a];
for(int c=0;c<a;c++)
scanf("%d",array[c]);
int d=0;  
while(d<b)   
{
int rh1;
rh1=array[a-b+d];
for(int k=a-b+d;k>0;k--)
    {
    array[k]=array[k-1]    ;        
    }    
array[d]=rh1;    
d++    ;
}
int p=a-1;
while(p>=0)
{if(p>0)
printf("%d ",array[p]);
else
printf("%d",array[p] );
p--;
}    
  return 0;
}
/*ÓÖÊǶδíÎ󣡣¡£¡£¡*/

别沉啊啊啊啊啊啊啊啊大佬们看一眼吧