我有 2 个数组。我通过一个函数阅读它们。然后我通过另一个函数对它们求和,并通过另一个函数打印总和数组。我必须一直使用指针。问题是,它将数组最后两个元素的总和打印为整个总和数组。我该如何解决这个问题?
#include<stdio.h>
void read(int *pdato);
void print(int *pdato);
void sum(int *pdato1,int *pdato2, int *pdato);
int main(){
int A[5],B[5],C[5],i;
printf("Data for first array:\n");
read(A);
printf("Data for the second array\n");
read(B);
sum(A,B,C);
printf("Result:\n");
print(C);
return 0;
}
void read(int *pdato){
int i;
for(i=0;i<5;i++){
printf("[%d]:",i);
scanf("%d",pdato);
}
}
void sum(int *A,int *B, int *C){
int i;
for(i=0;i<5;i++){
*(C+i)=*(A+i)+*(B+i);
}
}
void print(int *pdato){
int i;
for(i=0;i<5;i++){
printf("[%d]:%d\n",i,*pdato);
}
}
最佳答案
应该是
printf("[%d]:%d\n",i,pdato[i]);
和
scanf("%d",&pdato[i]);
关于c - 数组和指针与函数的和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35304788/