-4 c pointers compiler-errors function
任何人都可以解释我为什么会收到错误
无法将int**转换为argument1的int*
我已经看到所有堆栈溢出的答案,但没有找到解决我的问题的方法.我的代码
#include<stdio.h>
int* sum(int,int*);
int main()
{
int a=5;
int *b;
*b=6;
int *res;
res=sum(a,&b);
printf("\n%d\n%d\n",a,*b);
printf("%d",*res);
}
int* sum(int x,int *y)
{
x=x+1;
*y=*y+3;
return (&y);
}
Run Code Online (Sandbox Code Playgroud)
这是一个基本问题,但我发现很难解决错误.
RES =总和(A,和b);
这里b已经是一个指针(一个未分配的整数指针,可能导致未定义的行为).So&b的类型为int**.所以只通过b.
res(a,b);
Run Code Online (Sandbox Code Playgroud)
之后返回&y也是int**类型,如果要返回地址,则将其更改为y(类型为int*).
return y;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |