maxaddr=findmax(a,sizeof(a)/sizeof(*a),&idx);请问这句中的sizeof(a)/sizeof(*a)是什么意思?大神们帮

#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); }

sizeof(a)是整个数组占用的字节总长度,这里应该是40字节 sizeof(*a)是数组第一个元素的字节长度,这里int是4字节 sizeof(a)/sizeof(*a)就是求数组的元素的个数,这里40/4=10
温馨提示:答案为网友推荐,仅供参考
大家正在搜