微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

话虽如此,我是用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");
  }
  ...

原文地址:https://www.jb51.cc/c/110825.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐