请问,为什么第一个for里面的k=0删掉放在第二个for里面然后输出的数据就不一样了?

#include
int main()
{
int i, space, rows, k=0;

printf("Enter number of rows: ");
scanf("%d",&rows);

for(i=1; i<=rows; ++i, k=0)
{
for(space=1; space<=rows-i; ++space)
{
printf(" ");
}

while(k != 2*i-1)
{
    printf("* ");
    ++k;
}

printf("\n");

}

return 0;
}

放在外层,每次外层循环传k=0进来,你内层里边的可以k++,操作这个k,如果放里边,k=0,你内层循环的k每次都是0,

for(i=1; i<=rows; ++i, k=0)
for(space=1; space<=rows-i; ++space)

for(i=1; i<=rows; ++i)
for(space=1,k=0; space<=rows-i; ++space)
这两种写法是等价的
你把k=0放哪了?