为什么这个C程序只是在运行时停止,并且没有显示输出?

为什么这个C程序只是在运行时停止,并且没有显示输出?,c,C,嘿,伙计们,我的朋友做了这个程序,我不知道他到底在做什么,但他向我寻求帮助,因为它没有正常执行。我研究了C++对象和重载。我看了看代码,它看起来很好,但当我试图执行时,它没有正确执行,在询问高度后,DOS停止工作并被clsoed。我试图找出这个问题,但我做不到 以下是程序代码: #include <stdio.h> #include <stdlib.h> int main() { int height, i, j; char character;

嘿,伙计们,我的朋友做了这个程序,我不知道他到底在做什么,但他向我寻求帮助,因为它没有正常执行。我研究了C++对象和重载。我看了看代码,它看起来很好,但当我试图执行时,它没有正确执行,在询问高度后,DOS停止工作并被clsoed。我试图找出这个问题,但我做不到

以下是程序代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int height, i, j;
    char character;

    printf("plz enter height\n");
    scanf("%d",height);

    printf("plz type character\n");
    scanf("%c",character);

    for(i=0;i<=height;i++){
        for(j=0;j<=i;j++){
        printf("%c",character);
        }
    printf("\n");
    }
}

您没有将可写位置的地址传递给scanf,因此它将无法写入这些变量。我投票关闭,因为不清楚您实际要求的是什么。但只要试着改变扫描%d,高度;扫描%d,高度(&H);和scanf%c,字符;要扫描%c,&字符;离线您应该使用putchar而不是printfy欢迎您。对不起,当你读整数时,你必须加上-。char*字符是字符串的动态分配。
int main()
{
    int height, i, j;
    char *character;

    printf("plz enter height\n");
    scanf("%d",&height);

    printf("plz type character\n");
    scanf("%s",&character); //if you consider charactere as string it works

    for(i=0;i<=height;i++){
        for(j=0;j<=i;j++){
        printf("%c",character);
        }
    printf("\n");
    }
}