注册 登录
编程论坛 C++教室

新手求教,大家帮忙看看我这个程序为什么运行的时候无论两个数的大小都会进行交换?

孤军奋战 发布于 2018-03-22 11:47, 920 次点击
#include <iostream>
using namespace std;
int main()
{
  int a,b;
  cin>>a>>b;
  swap(a,b);
  cout<<a<<','<<b<<endl;
  return 0;
}

void swap(int x,int y)
{
  int t;
  if(x>y)
  {t=x,x=y,y=t;}
  else
  {;}
}
2 回复
#2
rjsp2018-03-22 11:57
因为你调用的是 std::swap
另外,你自己的那个swap函数是错误的,你只交换了x和y,而主函数中的a和b并没有交换。
#3
孤军奋战2018-03-22 13:39
回复 2楼 rjsp
谢谢您,我明白了
1