zoukankan      html  css  js  c++  java
  • 用指针交换两个整型数值

    void swap(int *a,int *b) //定义函数 
    {
        int t; //输入一个整型t 
        
        t=*a;
        *a=*b;
        *b=t;  //交换 *a,*b 
    }
    
     int main()   //主函数 
     {
         int m,n;  //输入整型 m n 
         int *p1,*p2;// 输入两个指针变量 
        scanf("%d %d",&m,&n); //输入两个值 
         p1=&m;  //把m的地址给p1 
         p2=&n;  //把n的地址给p2 
         swap(p1,p2);//调用函数 
         printf("m=%d n=%d",m,n);//输出 
         return 0;//返回值0 
     }
     10 20
    m=20 n=10
    --------------------------------
    Process exited after 5.124 seconds with return value 0
    请按任意键继续. . .

    总结: 每次写程序时都没有清晰的思路,只有慢慢写草稿,一次次的编译,有时候写到最后编译成功,不知道代码的意思。对指针还不熟悉。


    二:*m是指针变量,m无确定的值,不可见,会破环正常工作。


    三:实参和形参都是单向值传递的,用指针可以得到多个变化值。

    int max(int *a,int *b)//定义max函数 
    {
        
        if(*a>*b) //比较大小 
        return(*a); //返回较大值 
        else
        return(*b); 
    }
    
    int main()
    
    {
       int m,n,t;
       int *p1,*p2;
       scanf("%d %d",&m,&n);
       p1=&m;
       p2=&n;
       t=max(p1,p2); //调用函数,把最大值赋值给t 
       printf("%d
    ",t);//输出t 
    
    } 
    
    100 200
    200
    
    --------------------------------
    Process exited after 7.521 seconds with return value 4
    请按任意键继续. . .
    
    
    总结:写此程序时在scanf后面忘写了&,说明程序是敲出来的。 
    
    
    
    
    
  • 相关阅读:
    奇偶数排序
    买房子
    首字母大写
    学分绩点
    加减乘除
    最简真分数
    Hdu 1058 Humble Numbers
    Hdu 1032 The 3n + 1 problem
    Hdu 1040 As Easy As A+B
    Hdu 1025 Constructing Roads In JGShining's Kingdom
  • 原文地址:https://www.cnblogs.com/lenglangjin/p/6602121.html
Copyright © 2011-2022 走看看