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

質問編集履歴

1

追加しました.見よう見まねで書いてみたのですがSegmentation fault: 11と出てしまいます

2020/05/27 18:07

投稿

gamuq
gamuq

スコア3

title CHANGED
File without changes
body CHANGED
@@ -74,7 +74,13 @@
74
74
  }
75
75
 
76
76
 
77
+ \追加しました
78
+ int cmp( const void *p, const void *q ) {
79
+ return ((struct student*)p)->id - ((struct student*)q)->id;
80
+ }
77
81
 
82
+
83
+
78
84
  void search(struct student *students[STDNT], int n, int type) {
79
85
  struct student *selected[100];
80
86
  int i, j, numSameType=0;
@@ -84,6 +90,13 @@
84
90
  }
85
91
  }
86
92
 
93
+
94
+ \追加しました
95
+ int m = sizeof selected / sizeof( struct student );
96
+ qsort( selected, m, sizeof(struct student), cmp );
97
+
98
+
99
+
87
100
  for (i=0; i<numSameType; i++) {
88
101
  if (selected[i]->type==ST_UNDERGRADUATE) {
89
102
  printf("%d %d %s %s\n", selected[i]->type, selected[i]->id, selected[i]->account, ((struct undergraduate*)selected[i])->program);