2013-10-17 82 views
0

我試圖找到打印出'R'而不是''的第一個元素。試圖找出如何在二維數組中打印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"); 
} 
} 

我能得到點打印,但我不知道如何使

回答

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"); 
     } 
    } 
0

如果我理解正確的話,你要每一行的第一個元素是R,而不是第一個元素打印R. .?當您指定map[i][j],你可以根據你分配列的索引選擇.R,就是j

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

這也可以寫成ifmap[i][j]分配無分裂:

if (j == 0) { 
    map[i][j] = 'R'; 
} else { 
    map[i][j] = '.'; 
} 
+0

我添加了這個到我的循環,它打印出來!我所有改變是在if語句中,如果(j == 0 && i == 0)謝謝你的幫助,非常感謝! – user2887766