自定义函数 返回多个值(指针)

#include " iostream.h "

void calcu(int *a,int *b,int *l,int *angle)
{
//进行相应的操作
//比如...
*l += *a;
*angle += *b;
//不需要return,l、angle的值已经改变了,因为传递函数参数是指针类型
}

void main()
{
int a1=1,a2=2,a3=3,b1=4,b2=5,b3=6;
int l=2,angle=2;

calcu(&a1,&b1,&l,&angle);//l=2+1=3 angle=2+4=6
calcu(&a2,&b2,&l,&angle);//l= 3+2 =5 angle=6+5=11
calcu(&a3,&b3,&l,&angle);//l=5+3=8 angle=11+6=17

cout<<l<<" "<<angle<<endl;

}

------------------------------------------------------------------------------------------------------------

#include <iostream>
#include <string.h>
#include <cstring>
#include <algorithm>
#include <math.h>
int a,b;
using namespace std;
void ac(){
int t=a;
a=b;
b=t;
}
void acc(int &a,int &b){
int t=a;
a=b;
b=t;
}
void accc(int *a,int *b){
int t=*a;
*a=*b;
*b=t;
}
int main(){
    cin>>a>>b;
    ac();
    cout<<a<<' '<<b<<endl;
    acc(a,b);
    cout<<a<<' '<<b<<endl;
    accc(&a,&b);
    cout<<a<<' '<<b<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/MallowFlower/article/details/79945336