You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取字符串数组的元素个数?(禁用strlen、sizeof函数)

解决字符串数组元素计数问题(禁用strlen/sizeof)

你当前的问题是误用了strlen(array[0])——这个函数是计算第一个字符串的字符长度,和数组里的元素个数完全无关。要在不能用strlen和sizeof的前提下统计有效元素数量,可以利用C语言中二维字符数组初始化的特性:未显式赋值的数组行会被自动填充为全'\0'(空字符),我们可以通过遍历检测每行的首字符来计数。

具体实现代码

#include <stdio.h>

int main() {
    char array[10][100] = {"apple", "banana", "strawberry", "grapefruit"};
    int count = 0;
    // 遍历数组,直到遇到首字符为'\0'的行或达到数组最大容量
    while (count < 10 && array[count][0] != '\0') {
        count++;
    }
    printf("%d", count);
    return 0;
}

逻辑说明

  • 初始化计数器count为0,从数组第一行开始检查
  • 每次循环判断当前行的首字符是否为'\0':如果不是,说明这是一个有效字符串,计数器加1
  • 同时加入count < 10的条件,避免超出数组的最大容量(你定义的数组最多有10行)
  • 当遇到首字符为'\0'的行时,停止遍历,此时的count就是数组中有效字符串的个数

内容的提问来源于stack exchange,提问作者Valen7ino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:50:30