Can someone please explain why my code is causing a stack overflow error while a similar code is not?
My Code
#include<iostream>
int main(){
using namespace std;
int n, k;
int score[n];
int pass=0;
cin >> n >> k;
for(int i=0; i<n; i++){
cin >> score[i];
}
for(int i =0; i<n; i++){
if(score[i]>=score[k-1] && score[i]>0){
pass++;
}
}
cout << pass;
return 0;
}
Similar Code
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
int count=0;
cin>>n>>k;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++)
{
if(a[i]>=a[k-1] && a[i]>0)
{
count++;
}
}
cout<<count;
}
I tried changing the index range and also the variable names.