2017-03-29 185 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

相關問題