如何在二维数组中的某个位置显示一个字符?

我想清楚,是的这是一个与家庭作业相关的问题,不,我不指望你为我做功课.我喜欢编码,我只是在寻求建议.

话虽如此,我是用C创建生命游戏.这里有一些代码可以显示我一直在研究这个问题:

void create_area(void){
int table[24][80];
int i,j;
int xvalue=10,yvalue=10;
table[10][10] = 2;


/*for(j=0; j<24; j++){
    for(i=0; i<80; i++){
        table[j][i] = 1;
    }
}*/

for(j=0; j<24; j++){
    for(i=0; i<80; i++){
        printf(" ",table[j][i]);
    }
    printf("\n");
}

/*if(xvalue=10){
    if(yvalue=10){
        printf("O",table[xvalue][yvalue]);
    }
}*/

/*for(j=0; j<24; j++){
    for(i=0; i<80; i++){
        if(xvalue=0){
            if(yvalue=0){
                printf("O",table[xvalue][yvalue]);
            }
        }
    }
}*/
}

我的主要方法没有在这里显示,但是它负责查找参数和参数字符串的数量,并将它们放入我使用的两个数组(x_array和y_array)的坐标中.上面显示方法基本上是在终端中创建网格. create_area的参数现在是无效的(因为我只想测试值以查看它是否有效,这就是为什么我有两个int变量:xvalue和yvalue).但想法是create_area将采用x值和y值并初始化单元格将开始的字符“O”.很多代码都被注释掉了,因为我正在尝试解决问题.

我的问题:如何在我的2d数组中插入一个字符,以便在终端中查看时在网格上的某个位置显示该字符?

到目前为止,我创建了我的2d数组,并使用两个for循环来遍历它并打印空间.但我正在试图弄清楚如何在表[10] [10]中打印一个字符.我尝试了一些东西,但角色不会显示在特定位置,只显示在屏幕的左下角.我想我错过了一些简单的事情.

任何帮助,将不胜感激.

解决方法

如果要表示字符网格,则应使用数据类型char而不是int和字符常量(例如“1”)而不是整数常量(例如1).然而,主要问题是声明printf(“”,table [j] [i]);当你错过格式字符串中的格式说明符时总是打印一个空格(例如,对于整数,“%d”,或对于字符数据类型,为“%c”).
我不知道你的网格究竟是什么样子,但是下面的片段可能会有所帮助:
void create_area(void){
  char table[24][80];
  int i,j;
  int xvalue=10,yvalue=10;

  for(j=0; j<24; j++){
    for(i=0; i<80; i++){
        table[j][i] = '1';
    }
  }

  table[10][10] = '0';

  for(j=0; j<24; j++){
    for(i=0; i<80; i++){
        printf("%c",table[j][i]);
    }
    printf("\n");
  }
  ...

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...