不使用任何中間變數計算乙個字串的長度

2021-08-29 06:58:08 字數 595 閱讀 8612

乙個朋友去面試時候被問到這個題目。回來的時候大家討論。

輸入是乙個指向字串指標,要求不能用任何中間變數,計算出這個字串的長度。

思路:字串以'\0'結尾,指標可以自加(p++)。既然不能使用臨時變數,那就用遞迴吧。雖然也使用了臨時空間,不過不是程式設計師自己申請的,而是系統申請的。

判斷指標p所指位置的值是否為'\0',如果是,結束函式,返回0。如果不是,說明字串沒有結束,p++,然後再呼叫判斷p的值,並返回結果加1。

流程:function(char* p)

if (*p == '\0')

return 0;

else

return function(++p) + 1;

用c++實現的**如下

#include 

<

iostream

>

//compute lenght of string without any other variable

using

namespace

std;

intlen(

chara) 

else

}int

main()

乙個字元驅動

實現乙個基本框架 define notice fmt,args.printk kern notice scull fmt,args define error fmt,args.printk kern err scull fmt,args static init int scull init void...

計算乙個字串中每乙個字元出現的次數

分析 1.使用scanner獲取使用者輸入的字串 2.建立map集合,key是字串中的字元,value是字元的個數 3.遍歷字串,獲取每乙個字元 4.使用獲取到的字元,去map集合判斷key是否存在 通過字元 key 獲取value 字元個數 value put key,value 把新的value...

c c ,輸入乙個字元

getch getche 和getchar 函式 1 getch 和getche 函式 這兩個函式都是從鍵盤上讀入乙個字元。其呼叫格式為 getch getche 兩者的區別是 getch 函式不將讀入的字元回顯在顯示螢幕上,而getche 函式卻將讀入的字元回顯到顯示螢幕上。例1 include ...