1

我有一个任务,我应该使用递归函数遍历字符数组。我认为这很容易,因为我知道数组的长度,但是原型是给我的,我必须使用它:

void display(char str[])

我无法想象我应该如何在不知道长度的情况下递归循环。有人可以帮我推一下吗?

4

3 回答 3

3
void display(char str[])
{
    if (*str) {
        putchar(*str);
        display(str+1);
    }
}
于 2013-02-04T06:10:40.190 回答
0

C 字符串(假设您的字符数组是 C 字符串)假定为空终止。因此,例如,您可以使用递归函数来计算长度并为您的基本情况查找空字符以知道您已完成。

于 2013-02-04T06:10:44.527 回答
0

正如@abelenky 和@Nathan 所提到的,假设字符数组以“null”字符(通常是'\0')结尾。
这是一个关于如何查找字符数的示例

 unsigned int strLen( const char[] str ) {
     unsigned int len = 0;
     while( str[len] ) {
         len++;
     }
     return len;
 }
于 2013-02-04T06:21:27.140 回答