#include <stdio.h>
void main()
{
int i,j,a[20]; /*定义a数组有20个元素,是a[0]~a[19],不是a[1]~a[20]
*/
a[20]={1,1};/*表示只对前两个元素赋值,即a[0]=1,a[1]=1,这种赋值方式只能出现在初始化中,就是定义数组的同时赋值,所以这句是错的,应放到上面*/
for(i=2;i<20;i++) /*将21改为20,表示直到调用a[19]后结束*/
{
j=a[i-1]+a[i-2];
printf("%d\n",j);
}
}
正确代码:
#include <stdio.h>
void main()
{
int i,j,a[20]={1,1};
for(i=2;i<20;i++)
{
j=a[i-1]+a[i-2];
printf("%d\n",j);
}
}
结果为:
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0