C语言求解!“通过指针自增运算时,对一维数组中的正数求和”,请给出详细解题过程及正确答案,谢谢!

如题所述

第1个回答  2013-06-22
#include<stdio.h>

int main(){
    int i,*p,k,a[10],sum=0;
    p=a;  //指针p指向数组a的首地址
    printf("请输入10个整数");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    for(i=0;i<10;i++){  
        if(*p>0)  //如果p指向的数值是正数是 与sum相加
            sum=sum+*p;
        p++;  //p指针指向下一个数组元素
    }
    printf("%d\n",sum);
    return 0;
}

第2个回答  2013-06-22
#include "stdio.h"
#include "stdlib.h"
#define n 3

void main()
{
    int a[n];
    int i;
    int sum=0;
    int *pa=a;
    
    for(i=0;i<n;++i)  //输入数组元素
        scanf("%d",a+i);
        
    for(i=0;i<n;++i,++pa)  //指针自增正数求和
        if(*pa>0) sum+=*pa;
    
    printf("%d",sum);
}

相似回答