質問編集履歴

2

追記

2016/08/25 11:04

投稿

hoge_hoge
hoge_hoge

スコア8

test CHANGED
File without changes
test CHANGED
@@ -345,3 +345,19 @@
345
345
  */
346
346
 
347
347
  ```
348
+
349
+ 追記
350
+
351
+ ---
352
+
353
+ 力技になってしまいましたが、
354
+
355
+ m=-1にしたらうまくいきました。
356
+
357
+ m=0のままで可能でしょうか?
358
+
359
+
360
+
361
+ お力をお貸しください。
362
+
363
+ よろしくお願いします。

1

追記

2016/08/25 11:04

投稿

hoge_hoge
hoge_hoge

スコア8

test CHANGED
File without changes
test CHANGED
@@ -217,3 +217,131 @@
217
217
  /*
218
218
 
219
219
  ```
220
+
221
+ 追記
222
+
223
+ ---
224
+
225
+ [for分のcontinueが効きません........](https://teratail.com/questions/22322)を参考にしました。
226
+
227
+ continueの次の行がスキップされることがわかりました。
228
+
229
+ continueのあとの行にm++があったから処理が終わらなかったということでしょうか?
230
+
231
+ 修正したのですが、
232
+
233
+ それでもうまくいきません........どうなるのでしょうか
234
+
235
+ ###該当のソースコード4
236
+
237
+ ```C
238
+
239
+ /*コード4*/
240
+
241
+ 1 #include <stdio.h>
242
+
243
+ 2 int main(void) {
244
+
245
+ 3 int m = 0;
246
+
247
+ 4 while (m < 10) {
248
+
249
+ 5 printf("m:%d\n",m);
250
+
251
+ 6 m++;
252
+
253
+ 7 if(m == 5) {
254
+
255
+ 8 continue;
256
+
257
+ 9 }
258
+
259
+ 10 // この部分にあるコードがスキップされる
260
+
261
+ 11 }
262
+
263
+ 12 }
264
+
265
+ /*実行結果
266
+
267
+ m:0
268
+
269
+ m:1
270
+
271
+ m:2
272
+
273
+ m:3
274
+
275
+ m:4
276
+
277
+ m:5
278
+
279
+ m:6
280
+
281
+ m:7
282
+
283
+ m:8
284
+
285
+ m:9
286
+
287
+ 0~9までは表示される
288
+
289
+ */
290
+
291
+ ```
292
+
293
+ ###該当のソースコード5
294
+
295
+ ```C
296
+
297
+ /*コード5*/
298
+
299
+ 1 #include <stdio.h>
300
+
301
+ 2 int main(void) {
302
+
303
+ 3 int m = 0;
304
+
305
+ 4 while (m < 10) {
306
+
307
+ 5 m++;
308
+
309
+ 6 if(m == 5) {
310
+
311
+ 7 continue;
312
+
313
+ 8 }
314
+
315
+ 9 // この部分にあるコードがスキップされる
316
+
317
+ 10 printf("m:%d\n",m);
318
+
319
+ 11 }
320
+
321
+ 12 }
322
+
323
+ /*実行結果
324
+
325
+ m:1
326
+
327
+ m:2
328
+
329
+ m:3
330
+
331
+ m:4
332
+
333
+ m:6
334
+
335
+ m:7
336
+
337
+ m:8
338
+
339
+ m:9
340
+
341
+ m:10
342
+
343
+ 5はスキップできているが、0から開始せず、9で終了している
344
+
345
+ */
346
+
347
+ ```