2013-03-13 75 views
0

這裏我的問題是,當「parr」打印時,'m變爲零而不是「arrival_time」的內容。 幫助請。通過指針傳遞參數

void find_closest_flight(int desired_time, int *departure_time, int *arrival_time) 
{ 
....... 
    if (arr_time[i]-desired_time<=abs(temp)) 
    { 
     ..... 
     *arrival_time=arr_time[i]; 
     ...... 
    } 
    ...... 

    } 
} 

void main() 
{ 
int hr=0; int min=0; int num; int arr=0; int depar=0; 
    int *parr = &arr; 
    int *pdepar = &depar; 

...... 

num= hr * 60 + min; 

find_closest_flight(num, parr, pdepar); 

printf("%d", parr); 
system ("pause"); 

} 
+0

1)\ n添加到您的格式字符串,或輸出將不被刷新。 2)main()應該返回int。 – wildplasser 2013-03-13 19:40:49

+2

你正在索引到一個只能包含一個元素的「數組」(你指的是一個int ...)。 – FatalError 2013-03-13 19:41:47

+0

您正在嘗試使用'%d'打印*指針*。這是未定義的行爲。 – DCoder 2013-03-13 19:45:33

回答

3

你傳入的指針值,而不是價值printf

printf("%d\n", *parr);