2013年第四届蓝桥杯C/C++程序设计本科B组省赛 前缀判断(代码填空)

2013年第四届蓝桥杯C/C++程序设计本科B组省赛题目汇总:

http://blog.csdn.net/u014552756/article/details/50576336


前缀判断

如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。
比如:"abcd1234" 就包含了 "abc" 为前缀


答案:*(haystack++) != *(needle++)

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;
}

最终结果:

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;
}

你可能感兴趣的:(蓝桥杯,蓝桥杯历年试题)