输入10,输出为什么不是10个2?

{
    long long a,n,Sn,i;
    a=2;
    printf("请输入n的值\n");
    scanf("%d",&n);
    Sn=a;
    for(i=2;i<=n;i++)
    {
        Sn=a*10+2;
        a=Sn;
    }
    printf("Sn=%d",a);
    return 0;
}


#include<stdio.h>
int main()
{
    long long a,n,Sn,i;
    a=2;
    printf("请输入n的值\n");
    scanf("%d",&n);
    Sn=0;
    for(i=1;i<=n;i++)
    {
        Sn=Sn*10+a;
    }
    printf("Sn=%lld",Sn);
    return 0;
}

首先,i从2开始到10,根本没有循环10次而是9次
其次,a=Sn是要干什么,那不等于Sn=Sn*10+2了吗
那你把数据代入进去试试看呀,Sn初始值是10,
执行第一次10*10+2=102
102*10+2=1022
1022*10+2=10222