質問編集履歴

1

無限ループの削除、char data[100]の0クリアを施しました。

2020/06/05 17:53

投稿

VanS
VanS

スコア6

test CHANGED
File without changes
test CHANGED
@@ -218,7 +218,7 @@
218
218
 
219
219
  }else if (s==1){ /*ファイルからの入力*/
220
220
 
221
- char data[100];
221
+ char data[100]={0}; /*訂正箇所:0クリア*/
222
222
 
223
223
  int ch;
224
224
 
@@ -246,77 +246,77 @@
246
246
 
247
247
  }
248
248
 
249
- while (q){
250
-
251
- for (int i=0;data[i]!='\0';i++){
252
-
253
- if (isdigit(data[i])){
254
-
255
- push(data[i]);
256
-
257
- }else{
258
-
259
- switch (data[i]){
260
-
261
- case '.':
262
-
263
- pop();
264
-
265
- break;
266
-
267
- case '+':
268
-
269
- b=pop();a=pop();
270
-
271
- push(a+b);
272
-
273
- break;
274
-
275
- case '-':
276
-
277
- b=pop();a=pop();
278
-
279
- push(a-b);
280
-
281
- break;
282
-
283
- case '*':
284
-
285
- b=pop();a=pop();
286
-
287
- push(a*b);
288
-
289
- break;
290
-
291
- case '/':
292
-
293
- b=pop();a=pop();
294
-
295
- push(a/b);
296
-
297
- break;
298
-
299
- case ' ':
300
-
301
- break;
302
-
303
- case '\n':
304
-
305
- if(n!=0)
306
-
307
- printf("答えは%ldです。",pop());
308
-
309
- n=0;
310
-
311
- break;
249
+
250
+
251
+ for (int i=0;data[i]!='\0';i++){
252
+
253
+ if (isdigit(data[i])){
254
+
255
+ push(data[i]);
256
+
257
+ }else{
258
+
259
+ switch (data[i]){
260
+
261
+ case '.':
262
+
263
+ pop();
264
+
265
+ break;
266
+
267
+ case '+':
268
+
269
+ b=pop();a=pop();
270
+
271
+ push(a+b);
272
+
273
+ break;
274
+
275
+ case '-':
276
+
277
+ b=pop();a=pop();
278
+
279
+ push(a-b);
280
+
281
+ break;
282
+
283
+ case '*':
284
+
285
+ b=pop();a=pop();
286
+
287
+ push(a*b);
288
+
289
+ break;
290
+
291
+ case '/':
292
+
293
+ b=pop();a=pop();
294
+
295
+ push(a/b);
296
+
297
+ break;
298
+
299
+ case ' ':
300
+
301
+ break;
302
+
303
+ case '\n':
304
+
305
+ if(n!=0)
306
+
307
+ printf("答えは%ldです。",pop());
308
+
309
+ n=0;
310
+
311
+ break;
312
312
 
313
313
 
314
314
 
315
- default:
315
+ default:
316
-
316
+
317
- push(data[i]);
317
+ push(data[i]);
318
-
318
+
319
- break;
319
+ break;
320
320
 
321
321
  }
322
322
 
@@ -324,7 +324,7 @@
324
324
 
325
325
 
326
326
 
327
- }
327
+
328
328
 
329
329
  }
330
330