2013-03-13 192 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);