c++中的被调函数问题

在被调函数中写了一个冒泡排序,输出的值没有变,于是我就分别测试了一下被调函数函数能不能进去和循环能不能进去,发现循环进不去,这是为什么呢?cout《456就可以输出,cout《123就输出不了

img

img

img


#include 
#include 
#include 

using namespace std;

void sort(int a[], int l, int r){
    cout << "456";
    for(int i=0;i"123";
            for(int j=l;jif(a[j]>a[j+1]){
                    int c=a[j];
                    a[j]=a[j+1];
                    a[j+1]=c;
                }
            }
    }
}

int main(){
    int n,l,r;
    cin >> n >> l >> r;
    int a[n];
    for(int i=0;i> a[i];
    }
    sort(a,l,r);
    for(int i=0;i" ";
    }
    return 0;
}

应该是r-l啊,l-r都小于0了,当然不循环

你输入的时候把l和r输入反了吧
l应该是大的,r应该是小的,你写反了相减减出负数来了,可不不循环了吗