一道C语言题,不知道自己哪里错了

题目:

img


#include<stdio.h>
#include<math.h>
int main ()
{
    int i,a,n,S=0;
    scanf("%d %d",&a,&n);
    for(i=0;i<n;i++)
    {
        S+=a*pow(10,i)*(n-i);
    }
    printf("%d",S);
    return 0;
}

img


正确答案是应该是24690,不知道为什么跟答案差2.

#include<stdio.h>
#include<math.h>
int main ()
{
    int i,a,n,S=0;
    scanf("%d %d",&a,&n);
    for(i=n-1;i>=0;i--)
    {
        S+=a*pow(10,i)*(n-i);
    }
    printf("%d",S);
    return 0;
}

这样得出的答案是24689,不知道为什么与答案差1.

你用的是什么编译器,我这边用VS编译运行结果是24690没错啊