#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完全正常。
答案 0 :(得分:3)
int m,a[m]
这是:
a)未定义的行为(在初始化之前使用m)
b)依赖非标准gcc扩展(可变长度c样式数组)
你好运&#39;它适用于int