zoukankan      html  css  js  c++  java
  • C语言指针学习对swap()的总结

     1 #include<stdlib.h>
     2 #include<stdio.h>
     3 void swap1(int x,int y)
     4 {
     5     int temp;
     6     temp=x;
     7     x=y;
     8     y=temp;
     9 }
    10 void swap2(int *x,int *y)
    11 {
    12     int *temp;
    13     temp=x;
    14     x=y;
    15     y=temp;
    16 }
    17 void swap3(int *x,int *y)
    18 {
    19     int temp;
    20     temp=*x;
    21     *x=*y;
    22     *y=temp;
    23 }
    24 void swap4(int a[],int b[])
    25 {
    26     int temp;
    27     temp=a[0];
    28     a[0]=b[0];
    29     b[0]=temp;
    30 }
    31 void swap5(int a[],int b[])
    32 {
    33     int temp;
    34     temp=*a;
    35     *a=*b;
    36     *b=temp;
    37 }
    38 void swap6(int &a,int &b)
    39 {
    40     int t=a;
    41     a=b;
    42     b=t;
    43 }
    44 int main()
    45 {
    46     int x,y;
    47     x=4;
    48     y=3;
    49     swap1(x,y);
    50     printf("swap1: x:%d,y:%d
    ",x,y);//形参传值,不能交换,实际传过去是拷贝的一份,没改变主函数中x,y
    51     swap2(&x,&y);
    52     printf("swap2: x:%d,y:%d
    ",x,y);//不能交换,函数中只是地址交换了下,地址指向的内容没有交换
    53     swap3(&x,&y);
    54     printf("swap3: x:%d,y:%d
    ",x,y);//能交换,地址指向的内容进行了交换
    55     swap4(&x,&y);
    56     printf("swap4: x:%d,y:%d
    ",x,y);//能交换,地址指向的内容进行交换
    57     swap5(&x,&y);
    58     printf("swap5: x:%d,y:%d
    ",x,y);//能交换,地址指向的内容进行交换
    59     swap6(x,y);
    60     printf("swap6: x:%d,y:%d
    ",x,y);//能交换,地址指向的内容进行交换
    61     return 0;
    62 }

    参考链接:http://blog.chinaunix.net/uid-26826958-id-3161383.html

  • 相关阅读:
    Cocos Creator之生命周期函数
    Cocos Creator之基本概念
    Cocos Creator之菜单栏和工具栏
    Cocos Creator之认识
    lvs nat模式+iptables实现fullnat
    k8s cpu绑定
    arp代理
    确定veth pair在容器和宿主机的对应关系
    k8s 滚动发布
    http长连接
  • 原文地址:https://www.cnblogs.com/fjl-vxee/p/5667803.html
Copyright © 2011-2022 走看看