c - 将数组指针传递给调用函数时如何获取索引计数?
问题描述
我想从数组中消除重复值。我通过数组将值传递给函数,并在处理后通过指针收集返回的数组(处理后的数据)。指针的大小应该只是返回数组中存在的唯一值。(如果我在被调用函数处显示它工作正常。)但是在调用函数中,当我将数组返回到调用函数中的指针时,它显示的值较小。
#include <stdio.h>
int* test(int arr[],int size)
{
int i,j;
int flag=1;
static int local_arr[10];
int cnt=1;
local_arr[0]=arr[0];
for (i=1;i<=size; i++)
{
for(j=0;j<cnt;j++)
{
if(arr[i]==local_arr[j])
{
flag=0;
break;
}
else
flag=1;
}
if(flag==1)
{
local_arr[cnt]=arr[i];
cnt++;
}
}
return local_arr;
}
int main(void) {
// your code goes here
int *p,i;
int arr[] = {1,2,5,7,4,2,4,7,9};
int size = sizeof(arr)/sizeof(arr[0]);
p= test(arr,size);
for(i=0;i<(sizeof(p)/sizeof(p[0]));i++)
{
printf("%d\n",*(p+i));
}
return 0;
}
解决方案
推荐阅读
- python - 图像噪点与图像文本匹配
- ubuntu - FAMOpen -1 连接错误:连接被拒绝 (fam_fd=-1)
- javascript - 导入功能不起作用并抛出 404
- python - Python - 按组分隔数据框
- html - 分离两个向右浮动的 URL
- django - 在 Django 中使用查询集返回行号
- qt - Qt GUI 导致 CPU 开销
- airflow - 通过 WebUI 触发时,Airflow DAG 会因 RecursionError 而爆炸
- r - 自定义自动 R Markdown 报告
- php - Docker MySQL mysqli::real_connect():(HY000/2002):连接被拒绝