使用C中大小为10的一维数组添加偶数
从一维计算所有偶数元素之和的程序 大小为10的数组使用C中大小为10的一维数组添加偶数,c,arrays,loops,for-loop,undefined-behavior,C,Arrays,Loops,For Loop,Undefined Behavior,从一维计算所有偶数元素之和的程序 大小为10的数组 #include<stdio.h> void main(){ int i,count=0; int a[10]; //one dimensional array with size 10 for(i=0;i<=11;i++){ a[i]=i; //assigning values to array if(i%2==0){ count=count+a
#include<stdio.h>
void main(){
int i,count=0;
int a[10]; //one dimensional array with size 10
for(i=0;i<=11;i++){
a[i]=i; //assigning values to array
if(i%2==0){
count=count+a[i]; //add even numbers
}
}
printf("%d",count); //output
}
#包括
void main(){
int i,计数=0;
int a[10];//大小为10的一维数组
对于(i=0;i这个循环
for(i=0;i<=11;i++){
错误的原因是使用了幻数。请使用命名常量而不是幻数。例如
#include <stdio.h>
int main(void)
{
enum { N = 10 };
int count = 0;
int a[N];
for ( int i = 0; i < N; i++ )
{
a[i] = i;
if ( i % 2 == 0 )
{
count += a[i];
}
}
printf( "%d\n", count );
return 0;
}
您正在分配一个未定义的[10]和一个[11]。a
的大小为10
,因此a[i]=i
在i
为10
和11
时是不受限制的。但您还需要该数组做什么呢?只需执行for(i=0;ifor(i=0);ifor(i=0;i就可以更正我了。
#include <stdio.h>
int main(void)
{
enum { N = 10 };
int count = 0;
int a[N];
for ( int i = 0; i < N; i++ )
{
a[i] = i;
if ( i % 2 == 0 )
{
count += a[i];
}
}
printf( "%d\n", count );
return 0;
}
int main( void )