如何使用结构体实现函数返回多个值?
double sum(double a,b,c,d){
double r,im;
r=a+c;
im=b+d;
return r,im;
}这是我的想法,但是return只能一个值,如何修改可以让这个函数返回一个结构体包含两个数?刚开始学习c,指针还没学,能不用就最好啦,新手多包含。。。。。 返回结构体指针 定义一个结构体,结构体内包含你要返回的两个double类型的成员。
在sum函数中malloc一段内存空间保存此结构体,最后返回结构体指针 学习啦啊湿答答 #include <stdio.h>
typedef struct Complex{
double r;
double im;
} Complex;
Complex sum( Complex a, Complex b );
int main(void) {
Complex x;
Complex y;
x.r=1;
x.im=2;
y.r=3;
y.im=4;
printf("(1+2i)+(3+4i)=(%f,%fi)\n",sum(x,y).r, sum(x,y).im);
}
Complex sum( Complex a, Complex b ) {
Complex result;
result.r = a.r+b.r;
result.im = a.im+b.im;
return result;
}
页:
[1]