C语言--n个数据累加求和

最简单的版本

#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

C语言--n个数据累加求和_第1张图片C语言--n个数据累加求和_第2张图片

 右图那样更好理解,实参就是数组的首地址

 

 

//累加和
#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

你可能感兴趣的:(C语言,c语言)