请问思路哪儿错了吗,有空请看一下

问题遇到的现象和发生背景

img

用代码块功能插入代码,请勿粘贴截图
#include
int A(int n);
int main(void)
{
    int n,i,a,sum = 0,m = 1,mm;
    scanf("%d",&mm); 
    do{
        m++;
    printf("Input :\n");
    scanf("%d",&n);
    getchar();
    a = n;
    for(i;i < a;i++)
    {
        sum = sum+A(n);
        n--;
    }
    printf("a = %d\nm = %d\nn = %d\nsum = %d\ni = %d\n",a,m,n,sum,i);
}while(m <= mm);
}
int A(int n)
{
    if(n%2 == 1)
    {
        return n;
    }
    else
    {
        return A(n/2);
    }
}

运行结果及报错内容

img

img