为什么不能输出,哪错了

#include<stdio.h>
#include<math.h>
int main()
{int i,n,a,T,c;
scanf("%d",&T);
while(i<T)
{scanf("%d",&n);
i=0;
while(a<n)
{a=1;c=0;
if(n%a==0)
c=a+c;
a=a+1;
}i=i+1;
}printf("%d",c);
return 0;
}

i没有初值,怎么跟T比

与其说哪里错了,不如说哪里对了,最基本的初始化都没有弄明白。。。