1

次のエラー メッセージを表示したい......エラー: 'const char*' から 'size_t' への変換が無効です</p>

    return 0;
}

size_t strlen(const char *s1)
{



    return s1 - 0;
}
4

1 に答える 1

3

ポインターからゼロを引いてもポインターは変わりません。数値からゼロを引いても数値が変わらないのと同じです。

長さを取得するには、ゼロではなく元のポインターを減算する必要があります。

size_t strlen(const char *s1) {
    const char *orig = s1;
    while (*s1) {
        s1++;
    }
    return s1 - orig;
}
于 2012-07-28T01:45:37.157 に答える