Вот мой код
Примечание: возвращаемый массив должен быть неправильно размещен, предположим, что вызывающая сторона свободна ().
int* smallerNumbersThanCurrent(int* nums, int numsSize, int* returnSize)
{
int count=0;
int cl[numsSize];
for(int i=0;i<numsSize;i++)
{
count=0;
for (int j=0;j<numsSize;j++)
{
if(i!=j)
{
if(nums[i]>nums[j])
count++;
}
}
cl[i]=count;
printf("%d \t",cl[i]);
}
int *p=&cl[0];
return p;
}
Вывод отображается как:
Wrong Answer
Runtime: 0 ms
Your input
[8,1,2,2,3]
stdout
4 0 1 1 3
Output
[]
Expected
[4,0,1,1,3]
Я знаю, что могу сначала отсортировать, но я хочу знать, почему мой возвращенный массив остается пустым. Может кто-нибудь помочь мне здесь?