2013-11-14 82 views
0

我需要一個函數來創建一個浮點數組。如何返回浮點數陣列

double * my_function() 
{ 
    static double arr[10] = {20, 21, 22, 23, 24, 25, 26, 27, 28, 29}; 

    return arr; 
} 


int main() 
{ 
    double *first_pos; 
    int i; 

    first_pos = my_function(); 
    for (i = 0; i < 10; i++) 
    { 
     printf("%d", *(first_pos + i)); 
    } 

return 0; 
} 

這會打印一些「隨機」數字。

我對指針/數組感到困惑!

回答

6

您的指針/數組使用情況良好。

printf("%f", *(p + i)); 

打印雙打%f說明符。 %d用於整數。

0

我認爲這是%LF(長浮動)雙打,並%F正常浮動

這樣

first_pos = my_function(); 
    for (i = 0; i < 10; i++){ 
    printf("%lf\n", *(first_pos + i)); 
    } 

它給我的輸出是

20.000000 
21.000000 
22.000000 
23.000000 
24.000000 
25.000000 
26.000000 
27.000000 
28.000000 
29.000000 
+0

這是一個老問題,但是所有(有用的)貢獻都是值得歡迎的! –