gpt4 book ai didi

c - 如何在C中将int打印到char类型的数组变量中?

转载 作者:行者123 更新时间:2023-11-30 17:00:45 25 4
gpt4 key购买 nike

输入迷宫:

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

预期输出:

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

这里我将迷宫作为二维数组存储到结构中:

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 代码,而不是数字

关于c - 如何在C中将int打印到char类型的数组变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37373364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com