zoukankan      html  css  js  c++  java
  • 实验十—指针2

    /*输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出
    字符串y;再对y串的内容前后倒置后存入数组z中并输出。 要求:用指针访问数组元素、用函
    数getx(char *c1)实现复制、用函数getr(char *c2)实现倒置*/
    
    #include<stdio.h>      
    #define N 100      
    void getx(char *c1);    
    void getr(char *c2);    
    void main()    
    {  
        char a[N];    
        puts("输入一个字符串:");    
        gets(a);  /*从输入得到一个字符串*/  
        getx(a);   /*同上*/ 
    }    
    void getx(char *c1) /*将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y*/   
    {  
        int i,x,k=0;
        int j=0;
        char temp[N]; /*定义一个临时数组用来储存要拷贝的字符*/   
        puts("输入正整数x:");    
        scanf("%d",&x);    
        while(*(c1+j)!='') /*把字符串拷贝给*c1;''表示结束,不然字符串没有结束符不对*/     
        {
            j++;
        }     
        for(i=j-x;i<j;i++) /*循环x次取字符串的后x个字符*/     
        {
            temp[k]=*(c1+i);  /*将后x个字符储存到临时数组中*/  
            k++;
        }     
        temp[k]='';    
        getr(temp);   /*将临时数组中的字符串代入函数getr(char *c2)中实现倒置*/ 
        puts("新的字符串是:");    
        puts(temp);    
    }
        
    void getr(char *c2) /*对y串的内容前后倒置后存入数组z中并输出*/    
    {  
        int j,k,i=0;      
        char temp[N];      
        while(*(c2+i)!='') /*把函数getr(char *c1)中得到的临时数组中的变量赋给*c2*/     
        {
            i++;
        }      
        for(j=0;j<i;j++)      
        {
            temp[i-j-1]=*(c2+j);/*把*c2中的字符串赋给新的临时数组*/
        }      
        for(k=0;k<i;k++) /*实现倒置*/     
        {
            *(c2+k)=temp[k];
        }      
    }   

    *1.对如何倒置还不是很熟;

      2.在复杂的转换过程中可以定义一个新的临时数组;

      3.临时数组在两个函数之间不能通用。

  • 相关阅读:
    Google提出的新型激活函数:Swish
    Rosonblatt线性感知器
    Rosonblatt线性感知器
    毕业的到来
    陌生人
    学会感恩
    session和el表达式
    cooking和session
    不離不棄
    生活
  • 原文地址:https://www.cnblogs.com/xym0914/p/3422694.html
Copyright © 2011-2022 走看看