C++快速入门---传值、传值和传引用(6)
传值
#include <iostream>
void changeAge(int age, int newAge);
// 如果想要实现计划功能,需要怎么改?
main()
{
int age = 24;
std::cout << "My age is " << age << "\n";
changeAge(age, age+1);
std::cout << "Now my age is " << age << "\n";
}
void changeAge (int age, int newAge)
{
age = newAge;
std::cout << "In this , my age is " << age << "\n";
}
传地址
#include <iostream>
void changeAge(int *age, int newAge);
// 如果想要实现计划功能,需要怎么改?
main()
{
int age = 24;
std::cout << "My age is " << age << "\n";
changeAge(&age, age+1);
std::cout << "Now my age is " << age << "\n";
}
void changeAge (int *age, int newAge)
{
*age = newAge;
std::cout << "In this , my age is " << *age << "\n";
}
交换:
#include <iostream>
void swap(int *x, int *y);
main()
{
int x, y;
std::cout << "请输入两个不同的值:";
std::cin >> x >> y;
swap(&x, &y);
std::cout << "调换后输出:" << x << ' ' << y << "\n\n";
}
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
另一种交换方式:
#include <iostream>
void swap(int *x, int *y);
main()
{
int x, y;
std::cout << "请输入两个不同的值:";
std::cin >> x >> y;
swap(&x, &y);
std::cout << "调换后输出:" << x << ' ' << y << "\n\n";
}
void swap(int *x, int *y)
{
*x = *x + *y;
*y = *x - *y;
*x = *x - *y;
}
另一种交换方式:
#include <iostream>
void swap(int *x, int *y);
main()
{
int x, y;
std::cout << "请输入两个不同的值:";
std::cin >> x >> y;
swap(&x, &y);
std::cout << "调换后输出:" << x << ' ' << y << "\n\n";
}
void swap(int *x, int *y)
{
*x ^= *y;
*y ^= *x;
*x ^= *y;
}