【C语言编程】实现一个函数,判断字符串str2是否在字符串str1里

直接上源码,其实是仿照库中的源码:

char* strstr(register char* str1, register char* str2)
{
	register char* bp;
	register char* sp;

	if (!*str2)
		return str1;

	while(*str1)
	{
		bp = str1;
		sp = str2;
		do
		{
			if (!*sp)
				return str1;
		}while(*bp++ == *sp++);

		str1++;
	}

	return 0;
}

解析:

一个知识点:

这里为什么使用register关键字?

参考:C:register关键字的作用?

原因是用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。


其他的好像就没有什么好说的。


收录于:
C语言|BSP开发|嵌入式软件|Linux驱动|笔试面试题汇总帖

你可能感兴趣的:(嵌入式笔试面试题库,面试,字符串,c语言,编程语言)