1樓:
scanf("%d",p->age);這個是錯誤的,bai因為scanf輸入時,
du要將值放到位址
zhi裡,所以要加上&,&表示取dao址。專scanf("%s",pup[0].name);這一項是正確的,因為name本身就屬是字元陣列,所以它的陣列名就是字串的首位址,所以符合要求;
>***));這兩項也是正確的,解釋和第一項一樣。
關於c語言的一道題,求c高手幫忙解答~謝謝啦
2樓:踽踽獨行
8這是遞迴呼叫函式!
函式返回值通過指標s返回!
6開始,函式返回值為
f(6,*)=f(5,*)+f(4,*)
f(5,*)=f(4,*)+f(3,*)
f(4,*)=f(3,*)+f(2,*)
f(3,*)=f(2,*)+f(1,*)
f(2,*)=1;這時候返回,不回再繼續
答f(1,*)=1;這時候返回,不再繼續
f(6,*)=5*f(2,*)+3*f(1,*)=5+3=8錯誤之處://應為||
判斷了==1,==2,如果剛開始n是0或負值那麼函式永遠不會返回類似於死迴圈!
3樓:陳宗權
這個程式copy
實際是在計算斐波那契數列:
1,1,2,3,5,8,13,21,......
演算法:第1第2兩項是1,以後每一項是前兩項之和。
fun(int n, int* s)就是計算斐波那契數列第n項的值儲存在位址為s的變數中。
所以fun(6,&x)是計算第6項的值(也就是8)儲存在x中。
而fun(n-1,&f1)是計算第n-1項的值儲存在f1中,fun(n-2,&f2)是計算第n-2項的值儲存在f2中。
4樓:匿名使用者
您好,看c程式。首先看主函式,我們一步步來開:
1,定義整形變數x,,以x的位址為專引數。呼叫函式fun ,我們屬就帶著x來看fun
2,再fun函式內 fun(int n,int *s),,,當我們呼叫的時候,這個時候n=6,s是x的位址。
3,執行fun函式,首先這個if不執行。執行else,即fun(5,&f1)...
就這樣一步步執行。。謝謝!
c語言的一道題,C語言的一道題
董巨集諫念雙 include include void main int p 4 p a s 0 printf 輸入學號 scanf d n if n 3 printf 該生的成績和平均分如下 n printf 成績1 t成績2 t成績3 t成績4 t平均分 n for i 0 i 4 i prin...
一道c語言題,謝謝,求詳解啊,一道C語言題,謝謝,求詳解啊
我們知道 只要有一個條件是假那麼整個都為假,全部為真才為真。已知c不等於2,4,6所以答案c,d為假。只要一個條件為真那麼整個就為真,全部為假才為假。已知c不等於2,4,6,a答案的三個條件 c 2 c 4 c 6 都不成立,所以a答案為假。b答案若c取值為3那,麼c!5一定為真,因為c只能取一個值...
c語言中的一道題目 求高手解,C語言中的一道題目 求高手解
char s1 2 6 首先s1賦值 s1 0 honey s1 1 well char s2 char s1 s2指向s1 printf s char s1 1 輸出 s1 1 well printf s s2 1 輸出 s2 1 是s1 0 的位址 1 按s 輸出 oney 具體你說的沒有任何結...