• 第十次作业


    1.计算两数的和与差。要求自定义一个函数

    #include<Stdio.h>
    void sum_diff(float op1,float op2,float *psum,float *pdiff)
    { 
        *psum=op1+op2;
        *pdiff=op1-op2;
    }
    
    int main()
    {
        float op1,op2,*psum,*pdiff,sum,diff;
        printf("Input 2 number:");
        scanf("%f%f",&op1,&op2);
        sum_diff(op1,op2,&sum,&diff);
        printf("sum=%.2f diff=%.2f",sum,diff);
        return 0;
    }

    2.利用指针找最大值:要求自定义一个函数 

    #include<stdio.h>
    void findmax( int *px,int *py,int *pmax)
    {
        if(*px>*py) *pmax=*px;
        if(*py>*px) *pmax=*py;
    }
    
    int main()
    {
        int *px,*py,a,b,max;
        printf("Input 2 number:");
        scanf("%d%d",&a,&b);
        px=&a;
        py=&b;
        findmax(px,py,&max);
        printf("max=%d",max);
        return 0;
    }

    3.拆分实数的整数与小数部分:要求自定义一个函数

    #include<Stdio.h>
    void splitfloat (float x, int *intpart,float *fracpart)
    {
        int y;
        float z;
        y=x/1;
        z=x-y;
        *intpart=y;
        *fracpart=z;
    }
    
    int main()
    {
        float xs,x,z,*intpart,*fracpart;
        int y,zs;
        printf("Input x:");
        scanf("%f",&x);
        splitfloat(x,&zs,&xs);
        printf("intpart=%d fracpart=%.2f",zs,xs);
        return 0;
    }

    知识点:

    1.指针变量是在程序中声明一个变量并使用地址作为该变量的值

    2.&用于给出变量的地址

    int *p,a=3;

    p=&3;

    3.定义指针变量时应可以同时对它赋值

    int a;

    int *p=&a;

    遇到的问题与解决方法

    1.对p、*p、的赋值与应用还不熟练有时候会弄乱,所以我就多写了几次

    2.有时候赋值发现不能成功,看书之后发现了,指针类型和他所指向变量的类型必须相同

  • 相关阅读:
    [转载]注解
    Spring可扩展的XML Schema机制 NamespaceHandlerSupport
    jvm中的年轻代 老年代 持久代 gc ----------转载
    反射原理
    舍入误差
    mysql突然宕机后事务如何处理?
    redis为什么设计成单线程并且还这么快?
    mysql架构学习
    用户级线程和内核级线程的区别
    G1垃圾收集器
  • 原文地址:https://www.cnblogs.com/zscswd1368/p/6116870.html
Copyright © 2020-2023  润新知