[問題] 關於遞迴呼叫
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
程式碼(Code):
#include <stdio.h>
#include <stdlib.h>
float rsum(float a[], int n); /*遞迴地求算陣列元素總和*/
int main()
{
float a[100];
int i, n;
printf("Input number: "); /*要求使用者輸入n個numbers */
scanf("%d",&n);
for (i=1;i<=n;i++) /*輸入n個numbers */
scanf("%f",&a[i]);
printf("Sum=%f \n", rsum(a,n)); /*輸出結果*/
system ("pause");
return 0;
}
float rsum(float a[], int n)
{ /*遞迴地求算陣列元素總和*/
if (n)
return rsum(a, n-1) + a[n];
return a[0]; /*遞迴地求剩下解*/
}
預期的正確結果(Expected Output):
答案結果是正確的計算陣列總和
但是我要知道函式呼叫後是呼叫Array內以輸入的值? 還是null阿
因為我把printf加在函式一近來if(n)前面 顯示都是null
這是錯的嗎?? 沒有預期說Array內的值
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.229.184
推
02/28 18:27, , 1F
02/28 18:27, 1F
→
02/28 19:12, , 2F
02/28 19:12, 2F
推
02/28 19:55, , 3F
02/28 19:55, 3F
推
02/28 21:39, , 4F
02/28 21:39, 4F