请教一下大家“输入一个三位数,求这个数个位,十位和十位与百位数之和”这样做为啥是错的

#include<stdio.h>
int main()
{
int i,j,k,a;
scanf("%d",&a);
a=i*100+j*10+k;
printf("%d+%d",i+j);
printf("%d+%d",j+k);
return 0;
}

虽然已经用另一种方法做出来了,但还是想知道这个为什么错,刚学不懂的太多了


#include<stdio.h>
int main()
{
    int i, j, k, a;
    scanf("%d", &a);
    i = a % 10;
    j = a / 10 % 10;
    k = a / 100;
    printf("%d+%d", i + j);
    printf("%d+%d", j + k);
    return 0;
}

不是说你写一个a=i*100+j*10+k;他就能自动给你对应的,你要自己去算
比如百位数就是i=a/100;,十位数就是j=(a/10)%10;,这些都是你要自己去算的