请考虑以下代码:
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main() {
int a, b;
cout << "Enter two integer: ";
cin >> a >> b;
if (a > b) {
int temp = a;
a = b;
b = temp;
}
cout << a << "<=" << b << endl;
}
上面的代码产生两个插入数字中的最小值。谁能解释if块如何工作?
答案 0 :(得分:6)
这是交换两个数字的惯用方式。
有更有效的方法:改用std::swap
进行开发。
(语句int temp=a;
将变量temp
设置为a
的值。语句a=b;
将a
设置为{{1}的值}。最后,b
将b=temp;
的{{1}}设置为b
的原始值,因此,总体效果是交换temp
和{ {1}}。)