- 论坛徽章:
- 0
|
一个小问题,有点不解
m a i n ( )
{
void chang();
int *p1,*p2,a,b,*t;
s c a n f ( " % d , % d " , & a , & b ) ;
p 1 = & a ;
p 2 = & b ;
c h a n g ( p 1 , p 2 ) ;
p r i n t f ( " % d , % d \ n " , * p 1 , * p 2 ) ;
p r i n t f ( " % d , % d \ n " , p 1 , p 2 ) ;
}
void chang(int *pt1,int *pt2)
{
int *t;
if (*pt1<*pt2)
{
t=pt1; pt1=pt2; p t 2 = t ;
}
p r i n t f ( " % d , % d \ n " , * p t1 , * p t2 ) ;
r e t u r n ;
}
我试了一下,输入:1,2,输出:2 ,1 ;1 ,2;2147481620,2147281616。
输出的第一个结果不是已经把输入交换了吗?但第二个输出没明白怎么回事。
小弟有点笨,麻烦点解一下。 |
|