c語言的一維陣列中,各個元素賦值后分別是多少是不是就固定下來不能改變了?如果不能改變那為什么下面這個程式中f[i]會等于f[i-1]+f[i-2]?有沒有大佬解惑。
#include<stdio.h>
int main()
{
int i,f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{ if(i%5=0) printf("\n");
printf("%8d",f[i]);}
return 0;}
uj5u.com熱心網友回復:
一般來說,陣列元素賦初值后是可以改變的。f[i]=f[i-2]+f[i-1],這句話的意思就是從第三個元素開始,后面的每個元素等于前兩個元素之和uj5u.com熱心網友回復:
不是呀 陣列元素你可以修改的 f[i]=f[i-1]+f[i-2]就是從陣列的第三個元素開始 元素的值是前兩個元素的和uj5u.com熱心網友回復:
計算斐波那契數列1,1,2,3,5,....
uj5u.com熱心網友回復:
他的地址不變,也就是存放的空間不變,而不是他里面存放的東西不能變。uj5u.com熱心網友回復:
[i]表示的是地址門牌號為if[i]表示的是那第i個門牌號里住了幾個人
uj5u.com熱心網友回復:
建議看看動態規劃,你這個明顯是有重疊子問題,這是狀態轉移方程,這個跟陣列沒沖突。uj5u.com熱心網友回復:
這句有誤,應該為if(i%5==0)轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/221254.html
標籤:C語言
上一篇:鍵盤焦點,這是什么情況??
