C - Triangle 程序在调用 main 时不打印任何输出

C - Triangle program not printing any output on call to main

我写了一个 C 代码,应该打印一个三角形。定义了宽度和字符,然后代码应打印出一个填充该字符的三角形。我认为 main 中可能有错误,但代码编译正常。当我运行它时,没有输出。

这是我的代码:

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;
}

你有

 if (width > 2){
        return;
 }

电话是

 triangle(4, c);

这解释了没有输出。 还有其他错误,但你先尝试自己解决它们吗?

抱歉,如果问题中的这一点不清楚。 预期的输出应该是一个宽度(和高度)为 4 的三角形,填充为 'c'.

所以我想我已经弄明白了。 我必须使用 < 运算符(愚蠢的人为错误)并且字符必须有单引号:'c'.