d1,数组求和,C/C++,对比

数组求和,C

#include<stdio.h>
 
 int addarray(int array[],int n);
 
 int main()
 {
	int data[] = {0,1,2,3,4,5,6,7,8,9};
	int size = sizeof(data)/sizeof(data[0]);//sizeof求字节数,总的/每个元素的
     
	printf("data:%d/n",sizeof(data));	//数组总字节数,4*10
	printf("sum:%d/n",addarray(data,size));
	
	return(0);
 }
 
 int addarray(int array[],int n)
 {
	 int sum=0;
	 int i;
    //传数组实参时会把array当成指针(指针指向首地址)
    //理解为int *array等于int array[],数组名代表首地址,看下个程序理解
    //只传首地址之后再寻址操作,比传所有数组元素快捷多
	 printf("array:%d/n",sizeof(array));//64位系统,64/8=8		 
	 for(i=0;i<n;i++)
		{
			sum += array[i];
		}
	return(sum);
 }
输出为:
data:40
array:8
sum:45

数组求和,指针,C

 #include<stdio.h>
 
 int addarray(int *array,int n);
 
 int main()
 {
	int data[] = {0,1,2,3,4,5,6,7,8,9};
	int size = sizeof(data)/sizeof(data[0]);//sizeof求字节数,总的/每个元素的
     
	printf("data:%d/n",sizeof(data));	//数组总字节数
	printf("sum:%d/n",addarray(data,size));
	
	return(0);
 }
 
 int addarray(int *array,int n)
 {
	 int sum=0;
	 int i;
    //传指针(指针指向首地址)
	 printf("array:%d/n",sizeof(array));		 
	 for(i=0;i<n;i++)
		{
			sum+=*array++;
		}
	return(sum);
 }

数组求和,C++

//此为c99版本,在c92中没有namespace,但要用#include <iostream.h>兼容
#include <iostream> 

//using namespace std; //标准库的命名空间,namespace避免变量覆盖问题
  
int addarray(int *array,int n);

int main()
{
int data[] = {0,1,2,3,4,5,6,7,8,9};
int size = sizeof(data)/sizeof(data[0]);//sizeof求字节数,总的/每个元素的

//cout为输出流对象,是basic_ostream类的对象,console out控制台输出的缩写
std::cout << "sum:" << addarray(data,size) << std::endl;//<<左移操作符重载
//cout << "sum:" << addarray(data,size) << endl;//
return(0);
}
    

int addarray(int *array,int n)
{
 int sum=0;
 int i;
		 
 for(i=0;i<n;i++)
    {
        sum+=*array++;
    }
return(sum);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值