簡體   English   中英

如何在C中將int打印到char類型的數組變量中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM