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

时间:2018-05-04 09:45:48

标签: c printf 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;
}

2 个答案:

答案 0 :(得分:0)

你有

 if (width > 2){
        return;
 }

,电话是

 triangle(4, c);

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

答案 1 :(得分:0)

对不起,如果这个问题没有解决的话。 预期输出应为宽度(和高度)为4的三角形,填充为&#39; c&#39;

所以我想我已经弄明白了。 我必须使用&lt;操作员(愚蠢的人为错误)和角色必须有一个引号:&#39; c&#39;。