利用指针和函数实现冒泡排序,但不知道问题出在哪,运行后,弹出黑框,不显示结果,也无错误提醒
求指点
#include<iostream>
using namespace std;
void maopao (int* arr, int len)
{
for (int i = 0; i = len - 1; i++)
{
for (int j = 0; j = len - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1]=temp;
}
}
}
}
void printabc(int *arr,int len)
{
for (int i = 0; i < len;i++)
{
cout << arr[i] << endl;
}
}
int main()
{
int arr[10] = { 4,6,2,8,0,9,3,1,7,5 };
int len = sizeof(arr) / sizeof(arr[0]);
maopao(arr,len);
printabc(arr, len);
system("pause");
return 0;
}
第7行和第9行的for循环第二个参数,是表示循环条件,不符合就跳出循环。
而你用的=是赋值运算符,永远符合条件,死循环了,所以运行不会有结果。
两个=要改成<=哦~
我只是个小学蒟蒻,有不清楚的地方可以私信。
回答问题不易,望采纳哦~thanks
循环里第二条语句,等于改为小于