有关于循环输出的疑问


#define _CRT_SECURE_NO_WARNINGS 1
#include 

int main()
{
    int arr[10] = { 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };
    int n;
    int sz = sizeof(arr) / sizeof(arr[0]);         //数组字节长度
    scanf(" %d", &n);                                   //输入想要找的值
    int left = 0;                                                     //定义左右角标 数组从0开始定义
    int right = sz - 1;
    while (left < right)
    {
        int mid = (left + right) / 2;
        if (n > arr[mid]) 
        {
            left = mid + 1;
        }
        else if (n < arr[mid])
        {
            right = mid - 1;
        }
        else 
        {
            printf("找到了要找的值:\n");
            printf("%d\n", mid);
            break;                        //终止循环                               
        }
     }           
    if (arr[left] > arr[right])
    {
        printf("-1\n");
    }
    return 0;
}

在数组中找不到要找的值后为什么不输出-1呢

if(left > right)吧,最后的if