zoukankan      html  css  js  c++  java
  • 前缀判断 蓝桥杯

    欢迎访问我的新博客:http://www.milkcu.com/blog/

    原文地址:http://www.milkcu.com/blog/archives/1371004260.html

    标题:前缀判断 - 蓝桥杯

    内容:2013年第四届蓝桥杯全国软件大赛预赛第5题,代码填空题。

    作者:MilkCu

    题目描述

    题目标题:前缀判断
    如下的代码判断 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;
    }

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

    分析

    该题涉及到两个字符串:haystack为要判断的字符串,needle为前缀。通过返回值,很容易得到答案。

    代码实现

    我们可以通过下面的完整代码检验一下结果。

    # include <stdio.h>
    char* prefix(char* haystack_start, char* needle_start)
    {
    	char* haystack = haystack_start;
    	char* needle = needle_start;
    
    	while(*haystack && *needle){
    		if(*(haystack++) != *(needle++)) return NULL;  //填空位置
    	}
    	
    	if(*needle) return NULL;
    	
    	return haystack_start;
    }
    int main(void)
    {
    	char * haystack = "abcd1234";
    	char * needle = "abc";
    	printf("%s\n", prefix(haystack, needle));
    }

    最后答案

    *(haystack++) != *(needle++)

    (全文完)

  • 相关阅读:
    HTML5小游戏-绵羊快跑
    JavaScript模拟下拉菜单代码
    作业6
    作业5
    作业4
    作业三
    作业2(第二遍)
    sap jco3安装
    jmeter脚本文件(jmx)关联
    正则替换:删除空行、格式化Json/xml
  • 原文地址:https://www.cnblogs.com/milkcu/p/3808884.html
Copyright © 2011-2022 走看看