亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 C++ 中使用遞歸獲取字符串類實例的長度

在 C++ 中使用遞歸獲取字符串類實例的長度

手掌心 2023-06-20 16:38:49
我正在編寫一個遞歸函數來查找 C++ 中字符串的長度。這是一個簡單的問題,我用 C++ 寫了兩個函數,用 Python 寫了一個。第一的int length(char *str) {    if (*str == '\0')        return 0;    return 1 + length(str + 1);}第二int get_size(string str, int i) {if (str[i] == '\0')    return 0;return 1 + get_size(str, i + 1);}Pythondef length(string):    if not string:        return 0    return 1 + length(string[1:])他們都工作正常。但是,我想要的是重寫第二個函數,這樣就不需要integer像第一個那樣的參數。除了類實例之外,我也不想使用變量static和global任何庫函數。string如何將第二個函數重寫為第一個函數?
查看完整描述

1 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

相當于 python 的 C++string[1:]std::string::substr

int get_size(std::string str) {

? ? if (str.empty()) // end of recursion

? ? ? ? return 0;


? ? // call recursively with substr from second to last character.

? ? return 1 + get_size(str.substr(1));?

}


查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號