scanfループをコメントアウトすると、セグメント化エラーが消えます。ループが私にセグメンテーションフォールトを与えているのはなぜですか?なぜscanfループからセグメンテーションフォルトが発生しますか?
char** nameArray = malloc(numNames * sizeof(char *));
for(i =0; i< 10; i++) {
nameArray[i] = malloc(25 * sizeof(char));
}
for (i = 0; i< numNames; i++) {
scanf("%s", &nameArray[i]);
}
for (i =0; i<numNames; i++) {
free(nameArray[i]);
}
文字列はどれくらいスキャンされますか?大きな配列をmallocして問題が解決するかどうか確認してください。 – Tmx
'nameArray [i]'にスキャンし、 '&nameArray [i]'にスキャンしないでください。また、 '"%24s "'を書式文字列として使用し、 'scanf'の戻り値をチェックしてください。 –