回答編集履歴
2
コードを修正
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
補足を追加
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
|
|