题目描述:
实现printSize方法: void printSize(int * first,int * last); 传入数组第一个元素地址和最后一个元素地址。 输出数组内元素的个数和数组的大小。 用逗号区分,回车结束输出。 如输出4,16回车 遇到异常情况,输出"error"。
参考代码:
#include<stdio.h>
void printSize(int * first,int * last);
int main(){
int array[257]={1,2,3,4};
printSize(&array[0],&array[3]);
return 0;
}
void printSize(int * first,int * last)
{
if(first==NULL||last==NULL||last-first<=0)
{
printf("error\n");
return ;
}
int num=(int)(last-first)+1;
int size=num*4;
printf("%d,%d\n",num,size);
return ;
}
讲解:
首先处理一下错误情况,然后根据首尾元素地址差求出元素个数,再根据int型占4个字节计算出数组大小。如果不知道int占几个字节也可以用sizeof()函数哦。
指针这一部分理解起来比较难,建议课外多翻看一下相关资料,加强对指针的理解。
求实求真,大气大为。