zoukankan      html  css  js  c++  java
  • 征战蓝桥 —— 2013年第四届 —— C/C++A组第5题——前缀判断

    题目标题:前缀判断

    如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。

    比如:“abcd1234” 就包含了 “abc” 为前缀

     char* prefix(char* haystack_start, char* needle_start)
     {
     char* haystack = haystack_start;
     char* needle = needle_start;
     
     
     while(*haystack && *needle){
     if(______________________________) return NULL;  //填空位置
     }
     
     if(*needle) return NULL;
     
     return haystack_start;
     }
    

    请分析代码逻辑,并推测划线处的代码,通过网页提交。
    注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!!

    代码

    #include <iostream>
    
    using namespace std;
    
    /**
     *
     * @param haystack_start 母串
     * @param needle_start 前缀
     * @return
     */
    char *prefix(char *haystack_start, char *needle_start) {
        char *haystack = haystack_start;
        char *needle = needle_start;//前缀
    
    
        while (*haystack && *needle) {//两个指针都没有越界
    //        if(______________________________) return NULL;  //填空位置
    //移动指针
    //并判断
            if (*(haystack++) != *(needle++))return NULL;
        }
    
        if (*needle) return NULL;
    
        return haystack_start;
    }
    
    int main(int argc, const char *argv[]) {
        cout << prefix("abcd123", "abd") << endl;
        return 0;
    }
    
  • 相关阅读:
    SQL SERVER备份数据库存储过程.
    JMail组件使用中文文档
    Oracle,SQL Server,Access万能数据库通用类!
    快速幂的理解及使用
    关于地图坐标问题转换
    ref和依赖注入
    Unity3D 中的程序后台运行
    Unity中创建双面材质
    Unity3d 移动平台中文显示问题
    Unity3D 4.0中使用传统动画
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338982.html
Copyright © 2011-2022 走看看