美文网首页我家丫头的cpp
C语言指针使用的3个小例子

C语言指针使用的3个小例子

作者: 李药师_hablee | 来源:发表于2019-11-29 20:37 被阅读0次

    指针使用实例1

    #include<stdio.h>
    //用指针比较输入字符串与指定字符串的大小
    //相等时程序退出 
    int main()
    {
        char *p="CBA123map", a[20], *pa, *pp, flag;
        while(1)
        {
            printf("input a string:\n");
            gets(a);
            pp=p;
            pa=a;
            flag='E';//equal
            while(*pp!='\0') //指定字符还没有扫描结束 
            {
                if(*pa>*pp)
                {
                    flag='H';//high
                    break;//跳出当前循环 
                }
                if(*pa<*pp)
                {
                    flag='L';//low
                    break;//跳出当前循环 
                }
                pp++;
                pa++;           
            }
            if(flag=='E'&&(*pa!='\0'))//说明输入字符较长 
            {           
                flag='H';   
            }
            if(flag=='H')
            {
                printf("%s > CBA123map\n",a);
            }
            else if(flag=='L')
            {
                printf("%s < CBA123map\n",a);
            }
            else
            {
                //flag=="M"
                printf("相等! 程序结束!");
                break;//跳出当前循环 
            }
        }
        
        return 0;
    }
    

    指针使用实例2

    //使用内置的字符串比较函数strcmp(param1,param2)比较指定字符串和输入字符串的大小
    #include<stdio.h>
    //用指针比较输入字符串与指定字符串的大小
    //相等时程序退出 
    int main()
    {
        char *p="CBA123map", a[20], flag;
        while(1)
        {
            printf("input a string:\n");
            gets(a);                        
            if(strcmp(a,p)==0)//说明输入字符较长 
            {           
                printf("相等!程序结束!");
                break;  
            }
            else if(strcmp(a,p)>0)
            {
                printf("%s > CBA123map\n",a);
            }
            else
            {
                printf("%s < CBA123map\n",a);
            }       
        }
        
        return 0;
    }
    

    指针使用实例3

    #include<stdio.h>
    //用指针数组给另一个数组中的数据从小到大排序 
    //数据本身的排列顺序不会变 
    int main()
    {
        int a[3];//数据
        int *p[3];//指针数组
        int *temp;//用于交换
        p[0]=&a[0];
        p[1]=&a[1];
        p[2]=&a[2]; 
        
        printf("input 3 nums:\n");
        scanf("%d %d %d",p[0],p[1],p[2]);
        
        if(*p[0]>*p[1])
        {
            //交换
            temp=p[0];
            p[0]=p[1];
            p[1]=temp; 
        }
        if(*p[0]>*p[2])
        {
            //交换
            temp=p[0];
            p[0]=p[2];
            p[2]=temp; 
        }
        if(*p[1]>*p[2])
        {
            //交换
            temp=p[1];
            p[1]=p[2];
            p[2]=temp; 
        }
        printf("在数组中的3个数是:%d %d %d\n",a[0],a[1],a[2]);
        printf("排序後的3个数是:%d %d %d",*p[0],*p[1],*p[2]);
         
         
        
        
        return 0;
    }
    

    相关文章

      网友评论

        本文标题:C语言指针使用的3个小例子

        本文链接:https://www.haomeiwen.com/subject/pwxnwctx.html