c语言快速排序通过不了

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

visual2022无法运行不知道为什么

用代码块功能插入代码,请勿粘贴截图
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define size 100010
void Quick_Sort(int arr[], int begin, int end) {
    if (begin >= end)
        return;
    //取中间元素为基
    int tmp = arr[(begin + end) / 2];
    int i = begin;
    int j = end;
    while (i < j) {
        while (arr[i] <= tmp && i < j) {
            i++;
        }
        while (arr[j] >= tmp && i < j) {
            j--;
        }
        if (i < j) {
            int t = arr[i];
            arr[i] = arr[j];
            arr[j] = t;
            i++;
            j--;
        }
    }
    Quick_Sort(arr, begin, j);
    Quick_Sort(arr, i, end);
}
int main() {
    int N;
    int arr[size] = { 0 };
    scanf("%d", &N);
    for (int i = 0; i < N; i++) {
        scanf("%d", &arr[i]);
    }
    Quick_Sort(arr, 0, N - 1);
    for (int i = 0; i < N; i++) {
        if (i != 0)
            printf(" ");
        printf("%d", arr[i]);
    }
    printf("\n");
    return 0;
}

运行结果及报错内容

img


if (i < j) {
            int t = arr[i];
            arr[i] = arr[j];
            arr[j] = t;
            i++;
            j--;
        }
        else
            return;

当i<j不成立时,不能继续递归了,要return