strstr函数实现(嵌入式软件面试题页1)
题目内容来自网络
答案个人总结,仅供参考
1、A
经典的strcpy的函数实现原理,众所周知,不多说
2、C;X2[2][2]=0x38
如果在定义数组时就对全部元素赋初值,即完全初始化,则第一维的长度可以不指定,但第二维的长度不能省。
3、宏定义
((*(u32 *) (addr))= (value) (*(u32 *) (addr)&0xFF)
value = 0x44
二、简答题
#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; }