swap(int *,int *) 在使用和不使用运算符时显示不同的行为"&"
swap(int *,int *) showing different behavior when calling with and without "&"operator
我在选择排序程序中使用以下代码来交换值。当我传递像 swap(a[min],a[j]) 这样的参数时,它会交换值,但不增加"swaps"变量。但是当我传递像 swap(&a[min],&a[j]) 这样的参数时,它会交换值并增加"swaps"变量。我不明白引擎盖下发生了什么。
我正在使用 minGW 编译器。
void swap(int *x,int *y)
{
swaps++;
int temp;
temp=*x;
*x=*y;
*y=temp;
}
当你使用swap(a[min],a[j])
时,你很可能在调用std::swap
。避免的另一个原因
using namespace std;
相关文章:
- 两个数组,int 和 string,如何显示带有对应 int 的字符串?
- 与 string.size() 比较时 int 的符号性显示警告
- 如何让我的构造函数和函数工作,以便我的 main() 能够同时显示字符串和 int 数据
- 从C 到C#调用INT []显示随机大数字,而不是原始数组成员
- 垂直表显示与每个int大小相关的星星
- int显示了8个字节
- 为什么编译器显示错误"no match for 'operator[]' (operand types are 'carti' and 'int')"
- 以C++显示字符串矢量<int>地图
- int main() 的返回值是什么意思,如何显示它?
- OpenCV映像显示int openMP并行
- 从int到char的转换以显示ncurses键绑定
- C++位操作:如何将char解码/解压缩为int,并显示正确的字符串
- (C++)将int和/或double相加并显示sum
- 将字符转换为 int 会显示不相等的数字
- 在MessageBox中显示int变量
- 为什么QLineEdit::setCursorPosition(int)选择(突出显示)文本
- 我正在尝试编译我的jnicode,它显示错误_JNIEnv::GetShortArrayElements(JNIEnv*&,_jshortArray*&,int)'
- 为什么Visual Studio没有将无符号值显示为int?
- 使用C++接收int输入并显示较大和较小的数字
- Opencv C++;在标题中使用int显示多个图像