通过指针改变被调用函数的值

 

#include <iostream>
#include<stdio.h>
using namespace std;
int myadd(int *a, int *b)///形参为指针变量时形参和实参数据是可以传递的
{
    int sum;
    sum = * a + * b;
    int t;
    t = *a;///通过传输地址值在被调用函数中直接改变调用函数中的变量的值
    *a=*b;
    *b=t;
    return sum;
}
int main()
{
    int x,y,z;
    printf("Enter x y: ");
    scanf("%d%d",&x,&y);///实参取地址,将x地址作为参数传递给a
    printf("x=%d y=%d\n",x,y);
    z=myadd(&x,&y);
    printf("x=%d + y=%d = %d\n",x,y,z);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/chen_zan_yu_/article/details/86513893