strstr函数实现(嵌入式软件面试题页1)

Posted kunx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strstr函数实现(嵌入式软件面试题页1)相关的知识,希望对你有一定的参考价值。

题目内容来自网络

答案个人总结,仅供参考

技术图片

 

 

1、A

经典的strcpy的函数实现原理,众所周知,不多说

2、C;X2[2][2]=0x38

 如果在定义数组时就对全部元素赋初值,即完全初始化,则第一维的长度可以不指定,但第二维的长度不能省。

3、宏定义

((*(u32 *) (addr))= (value))

(*(u32 *) (addr)&0xFF)

value = 0x23

 

二、简答题

#include <stdio.h>
#include <assert.h>
 
const char* strstr(const char* src, const char* sub)
{
    const char *bp;
    const char *sp;
    if(!src || !sub)
    {
        return src;
    }
    /* 遍历src字符串  */
    while(*src)
    {
        /* 用来遍历子串 */
        bp = src;
        sp = sub;
        do
        {
            if(!*sp)  /*到了sub的结束位置,返回src位置   */
                return src;
        }while(*bp++ == *sp ++);
        src ++;
    }
    return NULL;
}

 

以上是关于strstr函数实现(嵌入式软件面试题页1)的主要内容,如果未能解决你的问题,请参考以下文章

28. 实现 strStr() 函数

C 函数 strstr 的高效实现

实现strStr()的golang实现

28. 实现 strStr()

LC 实现 strStr()

28. 实现 strStr()