C - программа Triangle не печатает никаких выходных данных при обращении к основному - PullRequest
0 голосов
/ 04 мая 2018

Я написал код C, который должен печатать треугольник. Ширина и символ определены, и код должен затем распечатать треугольник с заполнением этого символа. Я думаю, что в основной может быть ошибка, но код компилируется нормально. Когда я запускаю его, выход не выводится.

Вот мой код:

void triangle(int width, char x);

int main(void){
    triangle(4, c);
}

void triangle(int width, char x){
    if (width > 2){
        return;
    }
    int counter = 1;
    int direction = 1;
    do{
        int i;
        for(i = 0; i < width - counter; i++){
            printf(" ");
        }
        for (int i = 0; i < counter; i++){
            printf("%c", x);
        }
        printf("\n");
        counter += direction;
        if(counter > width){
            counter = width - 1;
            direction = -1;
        }
    }while (counter != 1);
    return;
}

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Извините, если это не ясно в вопросе. Ожидаемый результат должен быть треугольником ширины (и высоты) 4, с заливкой 'c'.

Так что я думаю, что понял это. Я должен использовать оператор <(глупая человеческая ошибка), и символ должен иметь одинарную кавычку: 'c'. </p>

0 голосов
/ 04 мая 2018

У вас есть

 if (width > 2){
        return;
 }

и вызов

 triangle(4, c);

Это объясняет отсутствие вывода. Есть и другие ошибки, но вы, возможно, сначала попытаетесь решить их самостоятельно?

...