int i=1,n=3,j,k=3
int a[5] = {1,4,5};
while(i<=n && k>a[i] )i++; //带入数值就是 1<=3 && 3> a[1],a[1]是4,3>4不成立,循环体不执行,所以循环什么也没做
for(j=n-1;j>=i;j--) //带入数值:j=2;j>=1;j--
a[j+1] = a[j]; //j=2时, a[3] = a[2]=5; j=1是 a[2]=a[1]=4
a[i]=a[1] =k = 3; //i=1,i的值在上面没有改变
所以数组a的值就是1 3 4 5