N个正整数排成一个最大的数

问题遇到的现象和发生背景

这就是题目

img


#include
#include
#include
using namespace std;
void main()
{
    int N;
    cout << "N=";
    cin >> N;
    string a[100];
    for (int i = 0; i < N; i++)
    {
        cin >> a[i];
    }
    sort(a, a + 4);
    for (int i =N-1; i>=0; i--)
    {
        cout << a[i];
    }
}
用代码块功能插入代码,请勿粘贴截图

输入四个数,排序是对的,为啥输入两个数排序是错的呢

img


img

a+4是什么鬼,不应该是a+N吗

为啥是sort(a,a+4)呢?哪来的4???