2 feifeifeifeifie feifeifeifeifie 于 2016.01.18 18:04 提问

C++课后练习1:定义一个函数,交换两个数字,分别用指针和引用两种形式写

C++课后练习1:定义一个函数,交换两个数字,分别用指针和引用两种形式写

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.18 18:12
 void swap(int **a, int **b)
{
    int * t = *a;
        *a = *b;
        *b = *t;
}
void swap(int &a,int &b)
{
    int t = a;
        a = b;
        b = t;
}
91program
91program   Ds   Rxr 2016.01.18 18:06
 void swap1(int *a,int * b)//指针 参数是两个指针变量
{
   int tmp;
   tmp=*a; //把a指向的值赋给tmp
   *a=*b;   //把b指向的值赋给a指向的值
   *b=tmp;   //把tmp的值赋给b指向的值
   //这样就达到了变换a,b指向的值的目的
 }
void swap2(int &a,int &b)//引用 参数是两个整型变量的引用
{
//引用就是他本身的值,所以直接交换两个的值就行了。
       int tmp;
       tmp=a;
       a=b;
       b=tmp;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C++分别用指针和引用实现交换函数
前几天上课老师给出了一个课堂作业:请分别用指针和引用来实现两个数的交换。虽然题目比较俗套,但是好久没写过C++程序了,依然很生疏,所以我决定总结一下自己的实现,程序粗糙,风格也混合着C,希望大家给提提建议。        老师出这个题目的目的无非是想让我们联系一下C++基本功,采用指针的方式是C语言的风格,用指针来存储变量的地址,然后通过取地址的内容,直接对内存所存储的数据进行了操作,而引用则是
如何用引用交换两个字符串!
#include using namespace std; void change(char* &a,char* &b) { char *c=a; a=b; b=c; } int main() { char *a="zaijian"; char *b="beybey"; change(a,b); cout return 0; }
用函数和指针实现两个数的交换
#include void swap(int* p1,int* p2) {  int t;  t=*p1;  *p1=*p2;  *p2=t; } int main() {  int i,j;  cin>>i>>j;  cout  swap(&i,&j);  cout  return 0; }
如何实现两个数交换的交换以及宏定义的编写
【语句实现方法】 方法1:不使用中间变量 ●利用位运算符  a = a^b; b = a^b; a = a^b;  →    a^= b^ = a^ = b;(不用考虑越界问题) 【解释】: 对于a^a =0, a^0 =a a = a^b b = a^b =( a^b) ^b =a^(b ^b) = a^0 = a(交换律) a = a^b = (a^b) ^a = a^a^b
用函数实现两个数的交换(指针)
#define _CRT_SECURE_NO_WARNINGS #include  #include  void swap(int *pa, int *pb) { int tmp = *pa; *pa= *pb; *pb = tmp;   } int main()   { int a = 0, b = 0; printf("请输入要交换的两个数\n"); scanf(
10.6 分别用字符数组和字符指针作函数参数两种方法编程实现在字符串每个字符间插入一个空格的功能
数组 #include <stdio.h> void addspace(char s[]){ int n; n=0; while(s[n]) n++; s[n*2]='\0'; n--; while(n>=0){ s[n*2]=s[n]; s[n*2+1]=32; n--; } } main(){
交换两个数的值的三种指针方法——指针的引用和指向指针的指针
#import //指针的指针 void swap( int **a, int **b){ int *temp = *a; *a = *b; *b = temp; } int main(int argc, const char * argv[]) { int m =1, n =3; int *x = &m , *y= &n; int **xx
【C语言】两个变量值的交换——指针
用子函数进行两个变量的值交换1.直接用两个变量进行传参,交换。在子函数内部进行打印。
C语言中交换两个整数的值之传值调用和传址调用
在C语言中,一说到交换两个整数的值,大家第一反应可能是这样的代码。定义一个第三方变量来辅助交换。 #include int main() { int num1 = 10; int num2 = 20; int tmp = 0; tmp = num1; num1 = num2; num2 = tmp; printf("num1 = %d num2 = %d\n",num1,num2)
使用函数实现两个数的交换。
#include  void swap(int *a,int *b) { int tmp; tmp=*a; *a=*b; *b=tmp; } int main() { int a=20; int b=10; swap(&a,&b); printf("a=%d b=%d",a,b); return 0; }