[英]How do I print int into array variable of char type in C?
輸入迷宮:
##..##############
##..............##
########..########
##........##....##
##..########..####
預期輸出:
##00##############
##++02++04++06++##
########++########
##++08++06##----##
##10########--####
在這里,我將迷宮作為2d數組存儲到結構中,如下所示:
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
即'.'
,我已使用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);
}
它給出下面的輸出:
##++##############
##0☺0☻0♥0♦0♣0♠0##
########0♣########
##0 00♠##....##
##++########..####
如果要將“ cost”中的數字轉換為字符串,則必須使用以下之一:1.使用%d代替%c。 2.使用ascii表並將您的數字轉換為char。 3.將%s與itoa功能一起使用。 實際上,您正在打印數字(成本)的ASCII代碼,而不是數字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.