首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮忙做个比较,该如何处理

2012-02-08 
帮忙做个比较目的是要交换两个变量的值。程序一:#includestdio.h#includestdlib.hvoidswap(intx,inty){

帮忙做个比较
目的是要交换两个变量的值。
程序一:
#include   <stdio.h>
#include   <stdlib.h>
void   swap   (int   x,int   y)
{
          int   i;
          i=x;x=y;y=i;
          return   ;
}
int   main()
{
        int   a,b,t;
        a=10;
        b=20;
        swap   (a,b);
        printf   ( "a=%db=%d ",a,b);
        system   ( "PAUSE ");
        return   0;
}
程序二:
#include   <stdio.h>
#include   <stdlib.h>
int   main()
{
        int   a,b,t;
        a=10;
        b=20;
        t=a;a=b;b=t;
        printf   ( "a=%db=%d ",a,b);
        system   ( "PAUSE ");
        return   0;
}
这两个有何不同?如果有,那是为什么?多谢了!


[解决办法]
第一个是错的,应该改为

void swap (int& x,int& y)
{
int i;
i=x;x=y;y=i;
return ;
}
[解决办法]
结果不一样啊!第一个没有交换成功,第二个交换成功,因为第一个是函数形势,是值传递类型,不改变原来的参数!

热点排行