You got nested loop with do/while. Make sure that each start with do end with while.
Look like at the end of file, the "while" is not correct.
printf("\n");
rows++;
while (rows <= height);
}
That could be you missing the close '}' before 'while (rows <= height);'
Correct code could be:
int main(void)
{
//Ask User for Height, and check
int a, b, rows, height;
a = 0; // <- removed int
b = 0; // <- removed int
rows = 1; // <- removed int
do
{
printf ("Height: ");
height = GetInt();
}
while (height <=0 || height > 23);
//build half pyramid
do
{
do
{
printf("r");
a++;
}
while (a < height - rows);
do
{
printf("#");
b++;
}
while (b < rows + 1);
printf("\n");
rows++;
} // <- add }
while (rows <= height);
}