返回信息流用引用或者是用指针都不行呢,
void chengfa(int &f1,int &f2,int a,int b,int c)
{
//输入b是实部,c是虚部,a是校验序列数,f1是输出实部,f2是输出虚部
f1=a+c;
f2=a+b;
}
int main()
{
int a=5;
int b=2;
int c=3;
int d=7;
int e=11;
chengfa(d,e,a,b,c);
printf("%d,%d",d,e);
system("PAUSE");
// return 0;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #73212同步于 2013/8/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
c函数多输出的问题求解
lixiaoyao
2013/8/14镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
什么叫“不行”?
C语言没有引用,只有指针。
既然“复数”是一个很小的结构,不如单独定义一个结构类型,用返回值而不是指针。
不要养成system("pause");的坏习惯。用命令行来运行,或者好好配置一下你的IDE。
另外,你重新发明了c99的complex.h
#include <stdio.h>
typedef struct comp {
int r,i;
} comp_t;
comp_t comp_mul(comp_t a, comp_t b) {
comp_t result;
result.r = a.r*b.r - a.i*b.i;
result.i = a.r*b.i + a.i*b.r;
return result;
}
int main() {
comp_t a = {1,2};
comp_t b = {3,4};
comp_t c;
c = comp_mul(a,b);
printf("c = %d + %di\n", c.r, c.i);
return 0;
}
【 在 nuanyangyang 的大作中提到: 】
: 什么叫“不行”?
: C语言没有引用,只有指针。
: 既然“复数”是一个很小的结构,不如单独定义一个结构类型,用返回值而不是指针。
: ...................
说不行是因为跑程序的时候提示错误,可能是编译器没有弄好,你的程序明显好用些,采纳了,谢谢!
【 在 lixiaoyao 的大作中提到: 】
:
: 说不行是因为跑程序的时候提示错误,可能是编译器没有弄好,你的程序明显好用些,采纳了,谢谢!
提示什么错误呢?到底编译器弄好了没有?
【 在 nuanyangyang 的大作中提到: 】
:
: 提示什么错误呢?到底编译器弄好了没有?
附件(78.4KB)
没有弄好 但是用你的就没错了,这是我之前的文件包,dup.cpp是验证计算的,read.cpp是录入数据的,main()是把两者结合起来的,现在的问题是dup和read单独运行都没问题,但是结合起来main()编译不过,我也不太确定是不是编译器有问题