C语言 指针新手问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 23:03:46
#include <stdio.h>

void sum(int [], int,int*,int*);

int main(void)
{
int a[10]={1,2,1,2,1,2,1,2,1,2},d,s;
sum(a,10,&d,&s);
printf("数组a中的奇数之和是%d \n数组a中的偶数之和是24680=%d",d,s);
}

void sum(int A[], int n, int *ds, int *ss)
{
int i;

for(i=0 ; i < n/2 ; i++)
{
*ss+=*(A+=2);
*ds+=*(A++);
}
}

运行结果不正确.. 我想知道这变量传递到底出了什么问题..先谢谢了! ^^

void sum(int [], int,int*,int*);

int main(void)
{
int a[10]={1,2,1,2,1,2,1,2,1,2},d,s;
sum(a,10,&d,&s);
printf("数组a中的奇数之和是%d \n数组a中的偶数之和是%d",d,s);
}

void sum(int A[], int n, int *ds, int *ss)
{
int i;

for(i=0 ; i < n/2 ; i++)
{
ss+=*(A+=2);
ds+=*(A++);
}
}