69,371
社区成员
发帖
与我相关
我的任务
分享
scanf("%d",&a[N]);
这句不好理解啊,N 是随机值,可能是一个很大的随机值,那么a[N];必定越界呢。越界程序就可以不能运行,直接异常退出;
另外,a[100]中的所有元素也都是随机值,那么下面的操作就不能理解了。
如果楼主是想做成,输入N和N个数组元素,然后求这N个元素中偶数的个数。可以考虑这样实现:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int N,i,count=0;
int a[100];
scanf("%d", &N);
if (N > 100)
return 0;
srand(time(NULL));
for(i = 0; i < N; i++)
{
a[i] = rand() % 100;
printf("%d ", a[i]);
if (!(a[i] % 2))
count++;
}
putchar(10);
printf("total even numbers = %d\n", count);
return 0;
}