为什么输入0直接结束程序了


#include<bits/stdc++.h>
using namespace std;
int main(){
   int x;scanf("%d",&x);
   for(int i=0;i<x;i++)
   {
       int n;
       scanf("%d",&n);long long a[n];a[0]=0;a[1]=1;
       for(int i=2;i<=n;i++)
        {a[i]=a[i-1]+a[i-2];}
        if(n==0) printf("Fib(0) = 0\n");
        else if(n==1) printf("Fib(1) = 1\n");
        else printf("Fib(%d) = %ld\n",n,a[n]);
   }
}

输入0的时候,x=0,for循环条件i<x就直接结束了啊。

img