我正在尝试使用 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/