zzk5015377 发表于 2022-1-24 01:01:43

关于指针的一些小问题

1、以下程序输出结果是?sample1.c
double fun(double x,double y)
{
x++;
y++;
return x+y;
}
main()
{
double x=10,y=20,z;
z=fun(x,y);
printf("x=%f,y=%f,z=%f\n",x,y,z);
}
2.double fun(double *x,double *y)
{
(*x)++;
(*y)++;
return *x+*y;
}
main()
{
double x=10,y=20,z;
z=fun(&x,&y);
printf("x=%f,y=%f,z=%f\n",x,y,z);
}
为什么两个代码因为第二个是指针而可以存入x,y

jhq999 发表于 2022-1-24 07:08:33

本帖最后由 jhq999 于 2022-1-24 07:12 编辑

1、10 20 32
2、11 21 32
第一个传入的是数值,形参改变实参不改变,第二个传入的是指针,改变的是形参指针指向的值,和实参指针指向的值都在一个地方。

zzk5015377 发表于 2022-1-24 11:54:10

jhq999 发表于 2022-1-24 07:08
1、10 20 32
2、11 21 32
第一个传入的是数值,形参改变实参不改变,第二个传入的是指针,改变的是形参指 ...

好的 谢谢~
页: [1]
查看完整版本: 关于指针的一些小问题