c语言的 上下三角图案类型

#include<stdio.h>

int i,j,n,m;
printf("上三角有多少行:\n");
scanf("%d",&n);
printf("下三角有多少行:\n");
scanf("%d",&m);
for(i=1;i<=n;i++)
{
    for(j=1;j<=5-i;j++)
        printf(" ");
    for(j=1;j<=i;j++)
        printf("*");
}
for(i=1;i<=m;i++)
{
    for(j=1;j<=i;i++)
        printf(" ");
    for(j=1;j<=5-i;j++)
        printf("*");
}
return 0;

}
请问这个循环为什么停不下来啊
上三角5行下三角4行

i,j没有初始化?

修改处见注释,供参考:

#include<stdio.h>
int main()
{
    int i,j,n,m;
    //printf("上三角有多少行:\n");
    scanf("%d",&n);
    //printf("下三角有多少行:\n");
    //scanf("%d",&m);
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=5-i;j++)
            printf(" ");
        for(j=1;j<=i;j++)
            printf("* ");//修改
        printf("\n");    //修改
    }
    for(i=1;i<=n-1;i++) //for(i=1;i<=m;i++)修改
    {
        for(j=1;j<=i;j++) //for(j=1;j<=i;i++)修改 最后是j++
            printf(" ");
        for(j=1;j<=5-i;j++)
            printf("* ");//修改
        printf("\n");    //修改
    }
    return 0;
}