0

我试图让第一个元素打印出“R”而不是“。”

这是我到目前为止所拥有的,然后我放弃了。

    void drawMap(char map[10][10]){
    int i, j;
    printf("Now drawing map\n");
    for(i = 0; i < 10; i++){
            for(j = 0; j < 10; j++){
                    map[i][j] = '.';
                    printf("%c ", map[i][j]);
            }
                    printf("\n");
}
}

我可以打印点,但我不知道如何让第一个元素打印一个 R。

4

2 回答 2

0

如果我理解正确,您希望每行的第一个元素R不是.? 分配时map[i][j],您可以选择.R基于您要分配的列的索引,即j

map[i][j] = j == 0 ? 'R' : '.';

这也可以写成未if分解map[i][j]赋值的 an:

if (j == 0) {
    map[i][j] = 'R';
} else {
    map[i][j] = '.';
}
于 2013-10-17T22:50:15.290 回答
0

如果我真的理解。你想这样打印

R…………

…………

…………

…………

…………

...

  void drawMap(char map[10][10]){
       int i, j;
       printf("Now drawing map\n");
       for(i = 0; i < 10; i++){
          for(j = 0; j < 10; j++){
                if(i==0 && j==0)
                   map[i][j] = 'R';
                else
                   map[i][j] = '.';
                printf("%c ", map[i][j]);
          }
                printf("\n");
        }
   }
于 2013-10-17T22:55:29.740 回答