最简单的版本
#include
int main()
{
int n,s=0;
while(~scanf("%d",&n)){
s=s+n;
}
printf("%d",s);
return 0;
}
使用指针变量作为函数形参时:
//累加和
#include
int sum(int a[],int n);
int main()
{
int a[15],n=0;
while(~scanf("%d",&a[n])){
n++;
}
printf("%d",sum(&a[15],n));//这里写的也是错的 这样写放进去的是第15个元素的地址
return 0;
}
int sum(int *p,int n)
{
int S=0;
for(int i=0;i
右图那样更好理解,实参就是数组的首地址
//累加和
#include
int sum(int a[],int n);
int main()
{
int a[15],n=0;
while(~scanf("%d",&a[n])){
n++;
}
printf("%d",sum(a,n));
return 0;
}
//版本一:形参数组x(不用指定数组大小)
int sum(int x[],int n)
{
int *p,S=0;
for(p=x;p<(x+n);p++){
S=S+*p;
}
return S;
}
//版本二:以指针变量作为形参
int sum(int *p,int n)
{
int S=0;
for(int i=0;i