当continue在if语句中,针对的是临近它的语句还是针对continue整体?

当continue在if语句中,针对的是临近它的语句还是针对continue整体?
比如这个程序中的continue,它的作用是什么?当输入为
5
1 2 4 5 6
3
时,
为什么没有这句continue就会输出1 3 3 4 5 6?



#include<stdio.h>
int insert(int a[],int n,int num)
{
    int i;
    for(i=n-1;i>=0;i--)
    {
        if(a[i]>num)
        {
            a[i+1]=a[i];
            a[i]=num;
            continue;
        }
        else
        {
            a[i+1]=num;
            break;
        }
    }
}
void PrintArr(int a[],int n)
{
    int i,j=1;
    for(i=0;i<=n;i++)
    {
        printf("%d",a[i]);
        if(j<=n)
            printf(" ");
        j++;
    }
}
int main()
{
    int n,num;
    scanf("%d",&n);
    int a[n+1];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    scanf("%d",&num);
    insert(a,n,num);
    PrintArr(a,n);
    return 0;
}

这个continue是没有作用(去掉也没有影响)因为下边已经没有可以执行的内容了,直接进行下一次循环