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

帅比萌擦擦* 提交于 2021-01-12 13:13:10

直接上源码,其实是仿照<string.h>库中的源码:

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驱动|笔试面试题汇总帖

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!