在學習遞迴時遇到的問題

2021-09-09 05:49:15 字數 691 閱讀 6901

利用遞迴實現strlen()函式的功能
int my_strlen(char *arr)

}

這段**乍一看好像是我們的思路,但是我沒有考慮到最重要的環節,當函式遞迴進入到最深層的時候(也就是字串被拆分完了以後只剩下乙個』\0』的時候),我們的函式是沒有做任何的處理的,那麼這個函式的值為多少,我們是不知道的,我試著放進乙個空字串的時候,函式的返回值為11926247,像是乙個隨機值!也就是說我們必須考慮到函式最深層的時候函式仍然是可行有效的。所以這裡稍微修改一下**,如下:

int my_strlen(char *arr)

return 0;

}

寫乙個遞迴函式digitsum(n),輸入乙個非負整數,返回組成它的數字之和。
int digitsum(int x)

經過上一題的討論,這一題應該很容易就可以看出來我的錯誤在**,很明顯,當函式呼叫到最後一次的時候(也就是x<=9的時候),我們的函式就沒法在給定乙個返回值,那麼這個值就有可能是類似於上一題中的隨機值,所以當我們給定x<=9時函式的返回值時,函式就可以正常的執行了,如下:

int digitsum(int x)

在學習路由交換時,遇到的一些縮寫。

1.isp internet service provider 網際網路服務提供商,即向廣大使用者綜合提供網際網路接入業務 資訊業務 和增值業務的電信運營商。2.ospf open shortest path first開放最短路徑優先 是乙個內部閘道器協議 interior gateway pro...

gazebo學習時遇到的問題 一

1 嘗試使用gazebo ros生成乙個urdf model時卡在waiting for service gazebo spawn urdf model命令 在.launc 件中的標籤中新增如下 行,重新執行即可解決問題 解決問題原貼 2 gazebo無法載入.world檔案中的模型,表現為載入失敗...

vue學習時遇到的問題(一)

1.vue的非同步元件,require 方法 作用是 在需要使用的時候,從 根目錄 components helloworld.vue 載入元件 import vue from vue import router from vue router vue.use router export defau...