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

前端之家收集整理的这篇文章主要介绍了如何在二维数组中的某个位置显示一个字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想清楚,是的这是一个与家庭作业相关的问题,不,我不指望你为我做功课.我喜欢编码,我只是在寻求建议.

话虽如此,我是用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&C++相关文章