-1 c pointers for-loop function
#include <stdio.h>
int sumofelements(int a[],int size)
{
int i,sum=0;
for (i=1;i<=size;i++)
{
sum+=a[i];
}
return sum;
}
int main()
{
int a[]={1,2,3,4,5};
int size=sizeof(a)/sizeof(a[0]);
int soe=sumofelements(a,size);
printf("sum of the elements=%d\n",soe);
}
Run Code Online (Sandbox Code Playgroud)
如果循环以 1 开头sumofelements,则for循环中的错误会产生垃圾值。
这个循环:
for (i=1;i<=size;i++)
{
sum+=a[i];
}
Run Code Online (Sandbox Code Playgroud)
使用 a[1]、a[2]、a[3]、a[4] 和 a[5]
这个循环:
for (i=0;i<size;i++)
{
sum+=a[i];
}
Run Code Online (Sandbox Code Playgroud)
使用 a[0]、a[1]、a[2]、a[3] 和 a[4]
没有[5]。而你忘记了 [0]。所以第二个循环给你正确的答案,第一个循环没有。