当我使用long long int时,我的代码不起作用,并且它与int完全正常

时间:2018-05-07 11:13:59

标签: c++

#include<iostream>
using namespace std;
    int main(){
    int m,a[m],i,current; // on using long long int here
    cin>>m;
    a[0]=0; 
    a[1]=1; 
    current=1;
    for(i=2;i<=m;i++){
        a[i]=a[i-1]+a[i-2];
        a[i]=a[i]%10;   //taking last digit of the fibonacci sequence
        current=current+a[i]; //summing
        current=current%10;
        cout<<"current="<<current<<"\n";
       }
       cout<<"Last Digit of the sum upto "<<m<<"th Fibonacci number is "<<current;


}

当我使用long long int时,我的代码不起作用,并且使用int完全正常。

1 个答案:

答案 0 :(得分:3)

int m,a[m]

这是:

a)未定义的行为(在初始化之前使用m)

b)依赖非标准gcc扩展(可变长度c样式数组)

你好运&#39;它适用于int