2016-05-22 7 views
0

入力迷路:期待
Cでchar型の配列変数にintを出力するにはどうすればよいですか?

##..############## 
##..............## 
########..######## 
##........##....## 
##..########..#### 

出力:そう

struct mazecells{ 
    char symbol; 
    int reachable; 
    int visited; 
    int clear; 
    int costs; 
}; 

typedef struct maze { 
    struct mazecells M[BUFFERSIZE][BUFFERSIZE]; 
    int startx, starty; 
    int numrows, numcolumns; 
    int initdir; 
}maze_t 

いつでも私のプログラムのトラバースmaze pathすなわち通過:

##00############## 
##++02++04++06++## 
########++######## 
##++08++06##----## 
##10########--#### 

ここで私はのような構造に2D配列として迷路を保存しています'.'、私はmaze->M[pos.y][pos.x].costs = <cost_value>を使用してそのパスにコストを割り当てました。
上記のように出力を印刷している間、迷路記号の代わりにコスト値を印刷する必要があります。私はコードの下に書いたが、いくつかのランダムなジャンク文字を印刷している。どうすれば達成できるのですか?

if (maze->M[i][j].costs !=0) 
    { 
     printf("%c", '0'); 
     printf("%c", maze->M[i][j].costs); 
    } 

それは出力の下に与えている:代わりに%cの 1.%dの:あなたは、文字列に「コスト」に番号を変換したい場合は、のいずれかを使用する必要があり

##++############## 
##0☺0☻0♥0♦0♣0♠0## 
########0♣######## 
##0  00♠##....## 
##++########..#### 
+2

'printf("%c "、 '0'); printf( "%c"、maze-> M [i] [j] .costs); ' - >' printf( "%02d"、maze-> M [i] [j] .costs%100); ' – BLUEPIXY

+0

@BLUEPIXY - ありがとう。それは正常に動作しています。 – user6344678

答えて

0

。 2. ASCIIテーブルを使用して、番号をcharに変換します。 3. itoa機能で%sを使用してください。 実際には数字(コスト)のASCIIコードを印刷していましたが、数字ではありません。

関連する問題