直接上原始碼,其實是仿照<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驅動|筆試面試題匯總帖
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/247250.html
標籤:其他
