以下代码sum的运行结果为什么为0?

问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<math.h>
int main()
{
    int i;
    int sum=0,n=0,j=0,k=0;
    scanf("%d",&i);
    while(i)
    {
    i=i/10;
    n++    ;
    }k=n;
    while(n)
    {
        j=i/pow(10,n);
        i=i-j*pow(10,n);
        n--;
        sum=sum+j;
    }
     printf("%d %d",k,sum);
     return 0;
}

运行结果及报错内容

3 0

我想要达到的结果

3 6

你的i没存,前面一直除以10,到最后变成0了
j是用i算出来的,所以也是0


#include<stdio.h>
#include<math.h>
int main()
{
    int i;
    int sum = 0, n = 0, j = 0, k = 0;
    scanf("%d", &i);
    int s = i;
    while (i)
    {
        i = i / 10;
        n++;
    }k = n;
    while (n)
    {
        j = s / pow(10, n);
        s = s - j * pow(10, n);
        n--;
        sum = sum + j;
    }
    printf("%d %d", k, sum);
    return 0;
}