使用c中函数中的指针查找字符串长度的问题

问题描述 投票:-1回答:1

我从我的大学接到一项任务,就是使用函数中的指针来查找字符串的长度。这是我的代码:

#include <stdio.h>
#include <stdlib.h>

#define max 100

int lengthchar(char *array1[])
{
    int a, x = 0;
    for (a = 0; *(array1++) != '\0'; a++)
    {
        x++;
    }
    return x;
}

int main()
{
    char arr1[max];
    int length;

    printf("Enter string\n");
    gets(arr1);

    length = lengthchar(arr1);

    printf("Length=%d", length);

    return 0;
}

但是当我输入以下信息时:

输入字符串:av

Length = 9

它显示了错误的长度,我的错误是什么?

c arrays string function string-length
1个回答
2
投票

这是因为将字符串指针作为参数传递给函数的方式。

© www.soinside.com 2019 - 2024. All rights reserved.