zoukankan      html  css  js  c++  java
  • c语言实现变种 replace()

     1 函数fun将字符串s中第一次出现的子字符串t1替换成字符串t2,替换后的新串放在w所指的数组中,
     2 要求t1和t2所指向的字符串长度相同。
     3 例如:当s所指字符串中的内容为"abcdab",t1中的内容为"ab",t2中的内容为"cc"时,结果w所指
     4 数组中的内容应为"cccdab" 5 
     6 程序有多处错误,请在答题框中写出错误的行号和修改后的内容。
     7 
     8 1    int fun(char *s, char *t1, char *t2 , char *w)            
     9 2    {            
    10 3      int   i;              
    11 4      char   *p , *r, *a;            
    12 5      strcpy( w, s );            
    13 6      while ( *w )            
    14 7      {            
    15 8        p = w;               
    16 9        r = t1;        
    17 10       while ( *r )            
    18 11            if ( *r == *p )        
    19 12            {        
    20 13              r++21 14              p++;        
    22 15            }        
    23 16            else        
    24 17              break;        
    25 18        if ( *r )             
    26 19        {            
    27 20            a = w;        
    28 21            continue;        
    29 22        }        
    30 23        w++;            
    31 24      }            
    32 25      r = t2;            
    33 26      while ( *r )            
    34 27      {            
    35 28        *a = *r;            
    36 29        a++;            
    37 30        r++;            
    38 31      }            
    39 32    }            
    40 
    #include <stdio.h>
    #include <string.h>
    
    void fun(char *s, char *t1, char *t2 , char *w)            
    {            
       int i;              
       char *p, *r, *a;           
       strcpy(w, s);          
       while(*w)            
       {            
    		p = w;               
         	r = t1;        
        	while(*r){        
    	    	if ( *r == *p ){        
    	    		r++; 
    	    		p++;        
    	        }        
    	        else        
    	           break;     //2
    		}        
    	    if (*r == '')   //3          
    	    {            
    	         a = w;         
    	         break;        
    	     }        
    	     w++;            
        }            
        r = t2;  
    //	printf("%c
    ", *a);       
        while ( *r )            
        {            
             *a = *r;     //1       
             a++;            
             r++;            
        }            
    }    
    
    main(){
    	char s[50] = "abcdab";
    	char t1[50] = "ab";
    	char t2[50] = "cc";
    	char w[50];
    //	char *s = "abcdab";
    //	char *t1 = "ab";
    //	char *t2 = "cc";
    //	char *w;	
    	 
      	fun(s, t1, t2, w);
      	
      	printf("%s", w);
      	
    	return 0;
    }
    

      

  • 相关阅读:
    1JavaScript的历史
    扯扯 require .js
    查看js 执行效率工具
    php 输入输出流
    词法分析096
    Python基础综合练习
    096
    大数据概述
    熟悉常用的Linux操作
    实验一、词法分析实验
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/13127410.html
Copyright © 2011-2022 走看看