请问为什么1处可以正常输出,而2处不能

#include<stdio.h>
int main(){
int k,m,n,i,j,t,l=0;
char a[100];
scanf("%d",&n);
i=n; j=n;
while(j!=0)
{
i=j%10;
j=j/10;
t+=i;
}
m=t;
//1处printf("%d",t);
for(;m>=0;)
{
a[l]=m%10;
m=m/10;
l++;
}
//2处printf("%d",t);
for(i=0;i<=99;i++)
printf("%",a[i]); }

for循环会造成死循环

img

for循环那你造成了死循环,m/10最小就是0了没有负数的