Функция не обменивает значения местами,не могу понять почему
Вроде все сделал,ошибок вижуал студио не выдает,но значения местами менять отказывается. Приложу код,возможно все это из-за неопытности
#include <cmath>
#include <iomanip>
using namespace std;
void shiftRight3(int a, int b,int c)
{
swap(a, b);
swap(c, a);
}
int main()
{
int a1, a2, b1, b2, c1, c2;
cout << "Input a1,b1,c1:"; cin >> a1>>b1>>c1;
shiftRight3(a1, b1, c1);
cout << "New numbers are " << a1 << setw(3) << b1 << setw(3) << c1 << endl;
cout << "Input a2,b2,c2:"; cin >> a2>>b2>>c2;
shiftRight3(a2, b2, c2);
cout << "New numbers are " << a2 << setw(3) << b2 << setw(3) << c2 << endl;
return 0;
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
void shiftRight3(int a, int b, int c)
Вы передаете в функцию аргументы по значению, то есть КОПИИ переменных.
void shiftRight3(int&a, int&b, int&c)
Так должно работать.