关于#c++#的问题:这是什么情况啊求解答代码如下#include <iostream>

img

这是什么情况啊 求解答

代码如下

#include 
using namespace std;
template<class T>
void myswap(T &a, T &b)
{
    T temp = a;
    a = b;
    b = temp;
}

template<class t>
void mysort(t arr[], int len)
{
    for (int i = 0, i < len, i++)
    {
        for (int j=i+1, j < len, j++)
        {
            if (arr[i] < arr[j])
            {
                myswap<int>(arr[i], arr[j])
            }
        }
    }
}
template<class T>
void print (T arr[],int len)
{
    for (int i = 0, i < len, i++)
    {
        cout << "arr[" << i << "]=" << arr[i] << endl;
    }
}
void test01()
{
    int arr[] = { 1,2,3,4,5,6,9,7,6,9,0 };
    int len = sizeof(arr)/sizeof( arr[0]);
    mysort(arr, len);
    print(arr, len);
}
int main()
{
    test01();

    system("pause");

    return 0;
}

14行开始,for里面是分号分隔。14行的len要-1
14行  for (int i = 0; i < len - 1; i++)//逗号改分号,len-1
20行 myswap<t>(arr[i], arr[j]); //类型、缺分号

for循环是分号隔开不是逗号


#include <iostream> 

using namespace std;

void myswap(int *a, int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

void mysort(int arr[], int len)
{
    for (int i = 0; i < len; i++)
    {
        for (int j=i+1; j < len; j++)
        {
            if (arr[i] < arr[j])
            {
                myswap(&arr[i], &arr[j]);
            }
        }
    }
}

void print (int arr[],int len)
{
    for (int i = 0; i < len; i++)
    {
        cout << "arr[" << i << "]=" << arr[i] << endl;
    }
}
void test01()
{
    int arr[] = { 1,2,3,4,5,6,9,7,6,9,0 };
    int len = sizeof(arr)/sizeof( arr[0]);
    mysort(arr, len);
    print(arr, len);
}
int main()
{
    test01();
    system("pause");
    return 0;
}