質問するログイン新規登録

質問編集履歴

5

修正

2019/04/19 13:58

投稿

samusunn36
samusunn36

スコア13

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
8
 
9
- 2番目の番号を入力したのちに、処理落ちする
9
+ 入力したがうまく表示されない
10
10
 
11
11
  ### 該当のソースコード
12
12
  ```C
@@ -23,32 +23,31 @@
23
23
 
24
24
  int main(void) {
25
25
  struct result *s_rt[NUM];
26
+
27
+ int i;
28
+ for (i = 0; i < NUM; i++) {
26
- s_rt[0] = (result*)malloc(sizeof(result));
29
+ s_rt[i] = (result*)malloc(sizeof(result));
27
- if (s_rt == NULL)
30
+ if (s_rt[i] == NULL)
28
- printf("メモリの動的確保に失敗しました\n");
31
+ printf("メモリの動的確保に失敗しました\n");
29
-
32
+
30
- else {
33
+ else {
31
- int i;
32
- for (i = 0; i < NUM; i++) {
33
- printf("%d番目の番号を入力してください:",i+1);
34
+ printf("%d番目の番号を入力してください:", i + 1);
34
35
  scanf_s("%d", &s_rt[i]->number);
35
- printf("%d番目の名前を入力してください:", i+1);
36
+ printf("%d番目の名前を入力してください:", i + 1);
36
37
  scanf_s("%s", s_rt[i]->name, NUM1);
37
- printf("%d番目の英語の点数を入力してください:", i+1);
38
+ printf("%d番目の英語の点数を入力してください:", i + 1);
38
39
  scanf_s("%d", &s_rt[i]->english);
39
-
40
40
  }
41
+ free(s_rt[i]);
42
+ }
41
43
  int j;
42
44
  for (j = 0; j < NUM; j++) {
43
45
  printf("番号:%d\n", s_rt[j]->number);
44
46
  printf("名前:%s\n", s_rt[j]->name);
45
- printf("英語の点数:%d", s_rt[j]->english);
47
+ printf("英語の点数:%d\n", s_rt[j]->english);
46
48
  }
47
- }
48
- free(s_rt);
49
49
  return 0;
50
50
  }
51
-
52
51
  ```
53
52
  ### 試したこと
54
53
 
@@ -59,5 +58,19 @@
59
58
  1番目の名前を入力してください:a
60
59
  1番目の英語の点数を入力してください:1
61
60
  2番目の番号を入力してください:4
61
+ 2番目の名前を入力してください:b
62
+ 2番目の英語の点数を入力してください:2
63
+ 3番目の番号を入力してください:5
64
+ 3番目の名前を入力してください:c
65
+ 3番目の英語の点数を入力してください:3
66
+ 番号:-572662307
67
+ 名前:ンンンンンンンンンンンンンンンンンンンンンンンンンンンン
68
+ 英語の点数:-572662307
69
+ 番号:-572662307
70
+ 名前:ンンンンンンンンンンンンンンンンンンンンンンンンンンンン
71
+ 英語の点数:-572662307
72
+ 番号:-572662307
73
+ 名前:ンンンンンンンンンンンンンンンンンンンンンンンンンンンン・ン
74
+ 英語の点数:-572662307
62
75
 
63
- ここまで表示されて処理止まってしまいます
76
+ 文字化け起きてしま

4

修正

2019/04/19 13:57

投稿

samusunn36
samusunn36

スコア13

title CHANGED
File without changes
body CHANGED
@@ -57,7 +57,7 @@
57
57
 
58
58
  1番目の番号を入力してください:1
59
59
  1番目の名前を入力してください:a
60
- 1番目の点数を入力してください:1
60
+ 1番目の英語の点数を入力してください:1
61
61
  2番目の番号を入力してください:4
62
62
 
63
63
  ここまで表示されて処理が止まってしまいます

3

追記

2019/04/19 13:35

投稿

samusunn36
samusunn36

スコア13

title CHANGED
File without changes
body CHANGED
@@ -55,4 +55,9 @@
55
55
 
56
56
  ### 補足情報(FW/ツールのバージョンなど)
57
57
 
58
- ここにより詳細な情報記載してください
58
+ 1番目の番号入力してください:1
59
+ 1番目の名前を入力してください:a
60
+ 1番目の点数を入力してください:1
61
+ 2番目の番号を入力してください:4
62
+
63
+ ここまで表示されて処理が止まってしまいます

2

コンパイルの表示

2019/04/19 13:25

投稿

samusunn36
samusunn36

スコア13

title CHANGED
File without changes
body CHANGED
@@ -5,12 +5,11 @@
5
5
 
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
- ```C
8
+
9
9
  2番目の番号を入力したのちに、処理落ちする
10
- ```
11
10
 
12
11
  ### 該当のソースコード
13
-
12
+ ```C
14
13
  (#)include <stdio.h>
15
14
  (#)include <stdlib.h>
16
15
  (#)define NUM 3
@@ -50,7 +49,7 @@
50
49
  return 0;
51
50
  }
52
51
 
53
-
52
+ ```
54
53
  ### 試したこと
55
54
 
56
55
 

1

コンパイルの表示

2019/04/19 12:41

投稿

samusunn36
samusunn36

スコア13

title CHANGED
@@ -1,1 +1,1 @@
1
- どこが間違っているかがわからな
1
+ C言語 構造体ポインタ配列表示、処理落ちにつ
body CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
- ```
8
+ ```C
9
9
  2番目の番号を入力したのちに、処理落ちする
10
10
  ```
11
11
 
@@ -50,6 +50,7 @@
50
50
  return 0;
51
51
  }
52
52
 
53
+
53
54
  ### 試したこと
54
55
 
55
56