簡體   English   中英

調用函數int strrindex(char s [],char t [])而不在c中傳遞size參數

[英]calling a function int strrindex(char s[], char t[]) without passing the size parameter in c

我的教授希望我們創建這種方法:

int strrindex(char s[], char t[])

在與main不同的文件中,並使其返回s中t最右邊出現的索引。 我的第一個想法是從右到左遍歷數組,找到t [0]的第一個匹配項,然后檢查序列的其余部分是否匹配,如果沒有繼續從右向左搜索匹配t [0]的下一個字符。 很容易,除了我無法獲得數組的大小,因為它作為參數傳遞,並且現在是指針,所以我不知道在for循環中放入什么來遍歷數組。 類似的問題建議將大小作為參數傳遞,但是對於此分配,參數列表必須為char s []和char t []。

所以我的問題是如何在不更改參數列表的情況下獲取數組的大小? 我唯一的另一個想法是首先從數組的開頭開始循環並找到'\\ 0'字符來找到大小,但這似乎很繁瑣且不雅致。 有沒有更簡單的方法可以做到這一點?

有沒有更簡單的方法可以做到這一點?

不可以。您可以使用strlen()為您完成此操作,但是它實際上是在做同樣的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM