回答編集履歴

2

追記

2020/07/05 02:18

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -45,3 +45,77 @@
45
45
  で、char型の変数に複数の文字("{ }":UTF-8で5バイト)を入れることは出来ません。
46
46
 
47
47
  ・・・cの構文や演算子のを勉強しましょう。
48
+
49
+
50
+
51
+ 追記:修正してみましたが、num[i][j] = "{ }";の意図が分かりません?
52
+
53
+ (やりたいことは分かりますが、出来ないのでどうしますか?)
54
+
55
+ ・・・「char1個に半角文字1個しか入らない」は分かっているんですよね?
56
+
57
+ ```c
58
+
59
+ #include <stdio.h>
60
+
61
+
62
+
63
+ int main()
64
+
65
+ {
66
+
67
+ char num[3][4] = {{1, 2, 3, 4},{1, 3, 2, 4},{4, 3, 1, 2}};
68
+
69
+ char *num_p;
70
+
71
+ int i, j;
72
+
73
+
74
+
75
+ num_p = &num[0][0];
76
+
77
+
78
+
79
+ for (i = 0; i < 3; i++) {
80
+
81
+ for (j = 0; j < 4; j++) {
82
+
83
+ printf("%5d", num[i][j]);
84
+
85
+ if (num[i][j] == 1) {
86
+
87
+ num[i][j] = '$';
88
+
89
+ } else if (num[i][j] == 2) {
90
+
91
+ num[i][j] = "{ }";
92
+
93
+ }
94
+
95
+ }
96
+
97
+ printf("\n");
98
+
99
+ }
100
+
101
+
102
+
103
+ return 0;
104
+
105
+ }
106
+
107
+ ```
108
+
109
+ ```text
110
+
111
+ t3.c:17:19: warning: incompatible pointer to integer conversion assigning to 'char' from 'char [6]' [-Wint-conversion]
112
+
113
+ num[i][j] = "{ }";
114
+
115
+ ^ ~~~~~~
116
+
117
+ 1 warning generated.
118
+
119
+
120
+
121
+ ```

1

誤記修正

2020/07/05 02:18

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -42,6 +42,6 @@
42
42
 
43
43
  文字列 "$"、"{ }"は、アドレスに変換されます。
44
44
 
45
- で、charの配列1個に複数の文字("{ }")を入れることは出来ません。
45
+ で、char変数に複数の文字("{ }":UTF-8で5バイト)を入れることは出来ません。
46
46
 
47
47
  ・・・cの構文や演算子のを勉強しましょう。