计算数组中元素的数量 - C

标签 c arrays

我正在尝试使用 C 来计算数组中元素的数量。我尝试了以下代码。但每次我运行该程序时它都只返回 83。我所说的计算元素数量是指我需要知道我们输入的元素数量,而不是数组的大小。

 #include<stdio.h>
#include<stdlib.h>
main(){

int a[100], j = 0, i;

a[0] = '0';
a[1] = '1';
a[2] = '2';
a[3] = '3';
a[4] = '4';
a[5] = '5';

for(i=0; i<100; i++){

       if(a[i] == '\0'){

       }        
        else
            j = j + 1;          
}

printf("%d", j);

system("pause");
}

最佳答案

C 中的数组是固定大小。它们不会扩展。您的数组有两个条目;写入array[2]array[3]等会调用未定义行为。换句话说,它是无效代码。

如果您希望能够插入任意数量的元素,则需要使用动态分配的内存,手动跟踪已插入的元素数量,并在需要时使用realloc调整大小。

关于计算数组中元素的数量 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11591714/

相关文章:

arrays - 在一行中选择数组的第一个和最后一个元素

c - C中struct的双指针是什么意思

c - 使用 fgetc C 读取文件时出现问题

C#:不可变类

java - 消除Java排序比较中的越界错误

java - 从两个数组中获取非重复项的最佳算法

c - 如何抛弃c运行时,但仍然能够加载和使用共享库?

c - 自修改代码中可能存在指令缓存同步问题?

c - 此代码如何反转数字中的位?

javascript - 将一个数组的数组与一个简单的数组合并