0
この小さなC関数を書いて、配列から整数を削除しました。整数の配列から値を削除する
/* remove `count` integers from `arr`, starting at index `idx` */
void remove_int(int (*arr)[100], int idx, int count)
{
int i, j;
for (i = 0; i < count; i++)
for (j = idx; *arr[j]; j++)
*arr[j] = *arr[j+1];
}
は、私はこのようにそれを実行して言ってやるがいい。
int arr[100] = {25, 4, 4, 1, 2, 1, 2};
remove_int(&arr, 7, 2);
私はセグメンテーションフォールトを取得します。どうして? BLUEPIXYによって
EDITCommentはchqrlieによってanswerはそれを説明し、それを解決しました。みんなありがとう!
'* arr [j]' - > '(* arr)[j]' – BLUEPIXY
あなたの関数は 'idx'を使用していませんか? – RoadRunner
BTW 'remove_int(&arr、7、2);' - > 'remove_int(&arr、2、7);'? – BLUEPIXY