交换两个数的值

 include "iostream.h"                         解法二:       #include "iostream.h"

void swap(int x,int y)                                       void swap(int *x,int *y)

{                                                            {

   int t;                                                       int t;

     t=x;x=y;y=t;                                               t=*x;*x=*y;*y=t;

                                                           }

void main()                                                   void main(){                                                            {

 int a=10,b=20;                                               int a=10,b=20;

 swap(a,b);                                                  swap(&a,&b);

cout<<"a="<<a<<"  "<<"b="<<b<<endl;                          cout<<"a="<<a<<" “<<”b=”<<b<<endl;

                                                          

 

 

请同学们想一下,哪一个能实现数值交换!

我来告诉大家,解法可以实现这个功能!

解法一:他把A的值给了X,把B的值给了Y,然后实现了X,Y值的交换,而A,B的值却没有交换!

解法二:它是用指针来实现交换功能的,它A的地址给了X,把B的地址给了Y,那么现在的*X,*Y的值是不是A,B的值了,然后它又把*X,*Y的值交换了,而X,Y是A,B的地址,那么是不是A,B的地址也交换了,那么A,B的值是不是也交换了!

如果你还是不懂,直接给我评论就可以了!!

posted @ 2011-10-31 12:34  奇奇博客  阅读(176)  评论(0)    收藏  举报