Arrays c中一元数的类型参数无效
我正在写一个函数:Arrays c中一元数的类型参数无效,arrays,c,loops,pointers,Arrays,C,Loops,Pointers,我正在写一个函数: int findSumInArray(int*arr,int size,int*sum,int**num1,int**num2) sum:用户选择一个数字(sum),我们检查是否有num1+num2==sum(同一数组中的两个数字)。 如果我们有两个这样的数字,那么我们想知道这些数字的i和j,还有arr[i]和arr[j]的值 我不知道我的功能出了什么问题!? 我得到:无效的一元类型参数 int findSumInArray(int *arr, int size, int *
int findSumInArray(int*arr,int size,int*sum,int**num1,int**num2)
sum:用户选择一个数字(sum),我们检查是否有num1+num2==sum(同一数组中的两个数字)。
如果我们有两个这样的数字,那么我们想知道这些数字的i和j,还有arr[i]和arr[j]的值
我不知道我的功能出了什么问题!?
我得到:无效的一元类型参数
int findSumInArray(int *arr, int size, int *sum, int **num1, int **num2)
{
int i=0,j=0;
if(scanf("%d", sum)!=1)
return -1;
for(i=0;i<size;i++)
{
for(j=i+1;j<size;j++)
{
if(*(arr+i)+*(arr+j)==*sum)
{
**num1=*(arr+i);
**num2=*(arr+j);
***num1=i;
***num1=j;
return 1;
}
}
}
return 0;
}
int findSumInArray(int*arr,int size,int*sum,int**num1,int**num2)
{
int i=0,j=0;
如果(scanf(“%d”,总和)!=1)
返回-1;
对于(i=0;i)您收到的错误消息是什么?是否为“c中一元的无效类型参数”?是的..在我问题的标题中,假设num1
声明为int**num1
,您认为***num1
是什么?您想用***num1=i;
做什么。您想返回数组中找到的两个数字以及它们的索引。因此您需要有4个指针作为参数。但是返回两个index和值是不需要的,因为索引已经足够了:调用方显然拥有数组,可以从数组中获取de值;int arr[size];我按照u的说法修复了函数,并将索引更新为num1和num2,现在……我必须打印它们,但我不知道printf(“arr[%d]=%d+arr[%d]=%d==sum\n”,num1,*(arr+*num1)的确切方式,num2,*(arr+*num2));?对吗?