为什么在函数里的求和 和在main函数里的求和 输出的结果不一样呢?

为什么在函数里的求和 和在main函数里的求和 输出的结果不一样呢?

#include<iostream>

using namespace std;


//定义功能实现函数,注意要使用引用传递参数

jisuan(int a,int b,int &ra,int &rb,int &rjia,int &rjian,int &rcheng,int &rchu)

{

if(!a||!b) return 1;


//运算并赋值

int jia=ra+rb;

cout<<"ra= "<<ra<<endl;

cout<<"rb= "<<rb<<endl;

cout<<"jia= "<<jia<<endl;

return 0;

}


int main()

{

    int a=12,b=3;

int &ra=a;

int &rb=b;

//定义存放和差积商的四个变量

    int jia,jian,cheng,chu;

    int &rjia=jia;

    //调用函数,并做判断输出

    jisuan(a,b,a,b,jia,jian,cheng,chu);

cout<<jia;

return 0;

}



#################

ra= 12

rb= 3

jia= 15

-858993460Press any key to continue


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
guly 2018-11-01 17:36:40

你好,建议参考:

#include <iostream>
#include <cmath>
using namespace std;

int count(int a,int b,int& sum,int& de,int& mc,int& chu){
	if(!a||!b) return 1;
	sum=a+b;
	de=a-b;
	mc=a*b;
	chu=a/b;
	return 0;
}
int main()
{
	int a=12,b=3;
	int sum,de,mc,chu;
	if(!count(a,b,sum,de,mc,chu)){
		cout<<"和为:"<<sum<<endl;
		cout<<"差为:"<<de<<endl;
		cout<<"积为:"<<mc<<endl;
		cout<<"商为:"<<chu<<endl;
	}else{
		cout<<"数据有误";
	}
	return 0;
	
}

如果解决了您的问题请采纳,祝学习愉快!

  • 提问者 broodopq #1
    好的,另外我这个为什么两个求和输出结果不一样呢
    2018-11-01 17:45:05
  • 提问者 broodopq #2
    老师,这道题要求是用 引用来做啊。。。。。。。。引用的答案。。。。。。。。
    2018-11-01 17:47:44
  • guly 回复 提问者 broodopq #3
    你好,引用的代码参考如上,老师已经修改。
    2018-11-01 18:35:25
提问者 broodopq 2018-11-01 17:09:41

另外老师,能不能给一下这道题的参考答案。谢谢~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
C++零基础入门 热门编程语言 二级考试必备
  • 参与学习       529    人
  • 提交作业       110    份
  • 解答问题       594    个

无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师