C语言部门考试,最后两道题总结

        考了一下C语言,尽管考得比较简单,但自己还是暴露出一些问题。如将字符串结尾'/0'等同于了NULL。太不应该了。最后两道编程题,一题考strcmp,一题考strindex。应该说自己思路基本是对的,就是关键位置让自己失利了。 

        自己下来重新把这两体总结了一下。strcmp的函数重新整理如下:就当作一个积累吧。

int  strcmp( const   char *  psrc ,  const   char *  pdest)
{
    
while(*pdest != '/0')
    
{
        
if (*psrc > *pdest)
            
return 1;
        
if (*psrc < *pdest)
            
return -1;
        psrc
++;
        pdest
++;
    }

    
if (*psrc != '/0')
           
return 1;
       
return 0;
}

  

看了一下网上经典示例,如下:

int  streql( char   * str1, char   * str2) 

    
while((*str1==*str2)&&(*str1)) 
    

        str1
++
        str2
++
    }
 
    
return((*str1==NULL)&&(*str2==NULL)); 
}
 
字符串中查找字符串的:
static   const   char *  _strstr( const   char *  s1,  const   char *  s2)
{
     assert(s2 
&& s1);
     
const char* p=s1, *r=s2;
     
while(*p!='/0')
     
{
          
while(*p++==*r++);
          
if(*r=='/0')
               
return p;
          
else
          
{
               r
=s2;
               p
=++s1;
          }

     }

     
return NULL;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值