質問編集履歴

1

説明を追記

2020/11/16 06:51

投稿

Kchan_01
Kchan_01

スコア110

test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,77 @@
85
85
 
86
86
 
87
87
  よろしくお願いします。
88
+
89
+
90
+
91
+
92
+
93
+ # 2020/11/16 追記
94
+
95
+
96
+
97
+ 質問の意図をうまく伝えられず、すみません。
98
+
99
+
100
+
101
+ negのフラグを入れると値が変わるような実装になっているのが疑問ということです。
102
+
103
+
104
+
105
+ ```c
106
+
107
+ #include <stdio.h>
108
+
109
+
110
+
111
+ int main()
112
+
113
+ {
114
+
115
+ int neg = 0;
116
+
117
+ unsigned char num;
118
+
119
+
120
+
121
+ num = 255;
122
+
123
+ printf("%d\n", num);
124
+
125
+ if ((char)num < 0)
126
+
127
+ {
128
+
129
+ neg = 1;
130
+
131
+ printf("%d\n", (char)num);
132
+
133
+ printf("%d\n", num);
134
+
135
+ num = -(char)num;
136
+
137
+ printf("%d\n", num);
138
+
139
+ }
140
+
141
+ return (0);
142
+
143
+ }
144
+
145
+ ```
146
+
147
+
148
+
149
+ 実行結果
150
+
151
+ ```
152
+
153
+ 255
154
+
155
+ -1
156
+
157
+ 255
158
+
159
+ 1
160
+
161
+ ```