2017-03-29 18 views
-3

Hellowの連中は、私の友人は、(私は彼が実際にやっているのか分からない)、このプログラムを作ったが、それが正しく実行されなかったため、彼は助けを私に尋ねました。オブジェクトとオーバーロードまでC++を研究しました。私はコードを見て、それはうまく見えたが、私が実行しようとすると、それは正しく実行されない、高さを要求した後、DOSは動作を停止し、clsoed取得します。問題を理解しようとしましたが、できませんでした。以下はこの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( "%cの"、文字); 'のscanf( "%d個"、&高さ)に';しかし、単に 'のscanf( "%d個"、高さ)の変化を試みる' 'のscanf( "%cの" に、&​​文字); putchar'代わりに 'printf' –

+0

は、あなたが使用する必要があります '、あなたは歓迎されている答え –

答えて

-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

いけないPASE生のコード(実際に私の友人の日)私の一日保存しました。あなたは整数を読むときに "&"を加えなければなりません。 char *文字は文字列の動的割り当てです。 – Fureeish

+0

として – azertq

関連する問題