函数的值传递和引用传递

#include "stdafx.h"
 #include
 using namespace std;
 
 void swap(int ,int );
 int _tmain(int argc, _TCHAR* argv[])
 {
  cout <<"输入三个整数:"<< endl;
  int num1, num2, num3;
  cin >> num1 >> num2 >> num3;
  if( num1 >= num2 )
  swap(num1 , num2);
  else if(num2 >= num3)
  swap(num2, num3);
  else if(num1 >= num2)
  swap(num1, num2);
  cout << num1 <<"\t"<< num2 <<"\t"<< num3 <<endl;
  return 0;
 }
 
 void swap( int a, int b)
 {
  int temp;
  temp = a;
  a = b;
  b = temp;
 }
 
swap函数并没有起到实际作用,因为传入的实参是副本,改变的是副本而不是值本身。
 
传引用
 
void swap( int &a, int &b)
 {
  int temp;
  temp = a;
  a = b;
  b = temp;
 }

转载于:https://www.cnblogs.com/ClaireJY/archive/2012/09/11/2680227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值