#include <stdio.h>
void sub(double a,double*pb);
int main()
{
double x,y;
scanf("%lf%lf",&x,&y);
sub(x,&y);
printf("x=%f y=%f\n",x,y);
}
void sub (double a,double*pb)
{
a=a-*pb;
*pb=*pb-a;
}
这个代码考察的是传址调用和传值调用的区别
sub函数中x是传值调用,y是传址调用
所以printf的结果是x不变,y是原来的y-x
的结果
如果对你有帮助,还请点个采纳,万分感谢!