赞
踩
#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
#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);
}
//此为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);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。