#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放哪了?