2017-03-29 131 views
-3

Hellow家伙,我的朋友制作了这个程序(我不知道他在做什么),但他问我寻求帮助,因为它没有正确执行。我研究了C++直到对象和重载。我查看了代码,它看起来很好,但是当我尝试执行时,它不能正确执行,请求高度后,DOS停止工作并得到克服。我试图找出问题,但我不能。这个C程序为什么不能正确执行?

下面是该程序的代码:

#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"); 
    } 
} 
+2

你不及格的可写位置的地址'scanf'所以它不能够写入这些变量。 – turbulencetoo

+2

我投票结束,因为它不清楚你实际要问什么。但只是尝试改变'scanf(“%d”,高度);''scanf(“%d”,&height);''和'scanf(“%c”,字符);''scanf(“%c” ,&character);'offline –

+0

你应该用'putchar'代替'printf' –

回答

-3
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"); 
    } 
} 
+0

谢谢你,你救了我的一天(实际上是我的朋友的一天) –

+2

不要将原始代码作为答案 – Fureeish

+0

不客气。对不起,你在读整数时必须加上“&”。 char *字符是一个字符串的动态分配。 – azertq

相关问题