Mystical предлагает решение для печати двух звездочек итерации.Использование идентификаторов row
и col
в вашем примере также делает вещи более запутанными, чем просто i
и j
, тем более что внешний цикл фактически является вашей текущей строкой.
Альтернатива вашему беспорядкуесть (я надеюсь, что это не домашняя работа, так как она не помечена как таковая):
int main(void)
{
int size = 5;
int i, j;
for (i = size; i > 0; i--) {
for (j = i; j < size; j++)
putchar(' ');
for (j = 0; j < i*2 - 1; j++)
putchar('*');
putchar('\n');
}
return 0;
}
Вы также можете поместить i*2 - 1
в переменную, чтобы она не рассчитывалась на каждой итерации цикла (если компилятор не увидит, что вы не изменяете i
).