私は、配列内の重複を見つけてそれらを印刷するコードを作成しようとしていました。私はこのコードと、なぜCallocが使われているのか理解できず、intの主要部分が私には分かりません。コードを理解できません
#include<stdio.h>
#include<stdlib.h>
void printRepeating(int arr[], int size)
{
int *count = (int *)calloc(sizeof(int), (size - 2));
int i;
printf(" Repeating elements are ");
for(i = 0; i < size; i++)
{
if(count[arr[i]] == 1)
printf(" %d ", arr[i]);
else
count[arr[i]]++;
}
}
int main()
{
int arr[] = {4, 2, 4, 5, 2, 3, 1};
int arr_size = sizeof(arr)/sizeof(arr[0]);
printRepeating(arr, arr_size);
getchar();
return 0;
}
あなたが理解していないコードを書きましたか? :-) –
^^^それと....何malloc? – ThingyWotsit
'calloc'呼び出しでcountパラメータとして' size-2'の代わりにmax(arr)を使う方が安全でしょう。言ってるだけ'。 – nucleon