C++ SWAP 函数什么都不做?
C++ SWAP Function does nothing?
出于某种原因,这个 returns 的原始值,有人可以告诉我为什么吗?谢谢你!我设置了温度,不确定这是否正确,因为 num1 和 num2 需要设置为相等,如果我不设置,它们都将保持 1 值。
代码:
#include <iostream>
using namespace std;
void swap1(double& num1, double& num2);
void swap2(double& num1, double& num2);
double num1, num2;
int main(){
cout << "Give me two numbers to swap: ";
cin >> num1 >> num2;
cout << "Original: " << num1 << ", " << num2 << endl;
void swap1(double& num1, double& num2);
cout << "First swap: " << num1 << ", " << num2 << endl;
void swap2(double& num1, double& num2);
cout << "Second swap: " << num1 << ", " << num2 << endl;
}
void swap1(double& num1, double& num2){
double temp1;
temp1 = num1;
num1 = num2;
num2 = temp1;
}
void swap2 (double& num1, double& num2){
double temp2;
temp2 = num1;
num1 = num2;
num2 = temp2;
}
输出:抱歉格式错误!
Running /home/ubuntu/workspace/ASSIGN#31.cpp
Give me two numbers to swap: 10 20
Original: 10, 20
First swap: 10, 20
Second swap: 10, 20
cout << "Original: " << num1 << ", " << num2 << endl;
void swap1(double& num1, double& num2);
这不调用swap1
。这是一个(重新)声明,而不是函数调用。改用这个:
swap1(num1, num2);
变化:
void swap1(double& num1, double& num2);
void swap2(double& num1, double& num2);
在你的主要功能中:
swap1(num1, num2);
swap2(num1, num2);
它应该可以工作,因为您使用的是函数,而不是在主函数中声明它。
出于某种原因,这个 returns 的原始值,有人可以告诉我为什么吗?谢谢你!我设置了温度,不确定这是否正确,因为 num1 和 num2 需要设置为相等,如果我不设置,它们都将保持 1 值。
代码:
#include <iostream>
using namespace std;
void swap1(double& num1, double& num2);
void swap2(double& num1, double& num2);
double num1, num2;
int main(){
cout << "Give me two numbers to swap: ";
cin >> num1 >> num2;
cout << "Original: " << num1 << ", " << num2 << endl;
void swap1(double& num1, double& num2);
cout << "First swap: " << num1 << ", " << num2 << endl;
void swap2(double& num1, double& num2);
cout << "Second swap: " << num1 << ", " << num2 << endl;
}
void swap1(double& num1, double& num2){
double temp1;
temp1 = num1;
num1 = num2;
num2 = temp1;
}
void swap2 (double& num1, double& num2){
double temp2;
temp2 = num1;
num1 = num2;
num2 = temp2;
}
输出:抱歉格式错误!
Running /home/ubuntu/workspace/ASSIGN#31.cpp
Give me two numbers to swap: 10 20
Original: 10, 20
First swap: 10, 20
Second swap: 10, 20
cout << "Original: " << num1 << ", " << num2 << endl; void swap1(double& num1, double& num2);
这不调用swap1
。这是一个(重新)声明,而不是函数调用。改用这个:
swap1(num1, num2);
变化:
void swap1(double& num1, double& num2);
void swap2(double& num1, double& num2);
在你的主要功能中:
swap1(num1, num2);
swap2(num1, num2);
它应该可以工作,因为您使用的是函数,而不是在主函数中声明它。