调用函数int strrindex(char s [],char t [])而不传递c中的size参数

时间:2017-09-13 02:49:32

标签: c arrays

我的教授希望我们创建这种方法:

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

在与main的单独文件中,并使其返回s中最右边出现的t的索引。我的第一个想法是从右到左遍历数组,找到第一次出现的t [0]然后检查序列的其余部分是否匹配,如果不是继续从右到左搜索下一个匹配t [0]的字符。很容易,除了我不能得到数组的大小,因为它作为参数传递,现在是一个指针,所以我不知道在for循环中放入什么以循环遍历数组。类似的问题建议将大小作为参数传递,但参数列表必须是char s []和char t []。

所以我的问题是如何在不更改参数列表的情况下获取数组的大小?我唯一的另一个想法是首先通过从数组的开头循环找到' \ 0'性格但这看起来既麻烦又不优雅。有没有更简单的方法来实现这个目标?

1 个答案:

答案 0 :(得分:3)

  

有没有更简单的方法来实现这个目标?

没有。您可以使用strlen()为您执行此操作,但它会在幕后做同样的事情。