我有这样的代码:计算数组的大小
int main() {
int array[5];
int x;
int n;
for(x = 0; x != 5; x++) {
scanf("%d", &n);
if(n % 2 == 0) {
array[x] = n;
}
printf("%d", sizeof(array))
我想知道有多少变量保存在数组中。
鉴于用户输入“2,3,5,6,7,8”,它只会得到“2,6,8”,有没有什么办法可以得到它的大小?我能做到这一点
一种方法是让另一个INT:
int main() {
int array[5];
int x;
int g = 0;
int n;
for(x = 0; x != 5; x++) {
scanf("%d", &n);
if(n % 2 == 0) {
array[x] = n;
g++;
}
printf("%d", g);
有没有办法做到这一点不增加g
if块里面?
'8' not get .... – BLUEPIXY 2014-11-24 22:47:03
C是低级语言。它没有“没有价值”的变量的概念。你声明了一个5个整数的数组,它在内存中分配了5个实际位,并且这些位总是包含5个整数,但是因为你没有初始化数组,所以它们可能是随机的。如果你想要一个数据结构来记住有多少项目被放入它,你需要自己构建它,或者用像Python这样的更高级的语言编写它。 – 2014-11-24 22:47:16
它不清楚你想要做什么 - 你想有多达5个偶数,并说有多少? - 或者你想要一个包含很多偶数的数组?你想要数组总是5? – pm100 2014-11-24 22:48:43