#include<iostream.h>
int *findmax(int *array,int size,int *index);
void main()
{
int a[10]={33,91,54,67,82,37,85,63,19,68};
int *maxaddr;
int idx;
maxaddr=findmax(a,sizeof(a)/sizeof(*a),&idx);
cout<<idx<<endl;
cout<<maxaddr<<endl;
cout<<a[idx]<<endl;
}
int *findmax(int *array,int size,int *index)
{
int max,i;
max=*(array+0);
for(i=1;i<size;i++)
if(max<*(array+i))
{
max=*(array+i);
*index=i;
}
return(array+*index);
}
maxaddr=findmax(a,sizeof(a)/sizeof(*a),&idx);请问这句中的sizeof(a)/sizeof(*a)是什么意思?
答案:1 悬赏:60 手机版
解决时间 2021-05-05 22:58
- 提问者网友:伴风望海
- 2021-05-05 17:02
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-05-05 18:30
sizeof(a)是整个数组占用的字节总长度,这里应该是40字节
sizeof(*a)是数组第一个元素的字节长度,这里int是4字节
sizeof(a)/sizeof(*a)就是求数组的元素的个数,这里40/4=10
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯