teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コードを修正

2020/07/05 02:21

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -7,15 +7,15 @@
7
7
  ```C
8
8
  #include <stdio.h>
9
9
 
10
- int main() {
10
+ int main(void)
11
+ {
11
12
  char num[3][4] = {{1, 2, 3, 4}, {1, 3, 2, 4}, {4, 3, 1, 2}};
12
13
  char *num_p;
13
- int i, j;
14
14
 
15
15
  num_p = &num[0][0];
16
16
 
17
- for (i = 0; i < 3; i++) {
17
+ for (int i = 0; i < 3; i++) {
18
- for (j = 0; j < 4; j++) {
18
+ for (int j = 0; j < 4; j++) {
19
19
  if (*num_p == 1) {
20
20
  *num_p = '$';
21
21
  } else if (*num_p == 2) {

1

補足を追加

2020/07/05 02:21

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  とりあえず、ポインター変数を`char *num_p;`にして、`num_p`を使う場面では`[]`の類を全部取り、内側のループで`num_p++`で位置をずらしつつ、`"$"`を`'$'`に、`"{ }"`は(1文字しか設定できないので)`'{'`にすれば、「配列の数値を文字に置き換える」というプログラムにはなりますね。
4
4
 
5
+ ついでに、元のコードだと、置き換えた後の状態を確認できないので、printfの位置を後ろに移動。
6
+
5
7
  ```C
6
8
  #include <stdio.h>
7
9