#include <stdio.h> //输出数组的长度 int arr_str(double a[]) { int len=sizeof(a)/sizeof(a[0]); //1 ??????为何输出1呢 为何不是数组的长度 return len; } int main(){ double arr[]={1.78, 1.77, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80}; printf("arr_str里面的数组长度为%d\n",arr_str(arr)); int length = sizeof(arr)/sizeof(arr[0]); printf("main里面的数组长度为%d\n",length); //正常输出, 10 return 0; }
为何用自定义函数来求数组的长度会显示不正常呢,为1,而在main中就显示正常。用的编辑器是dev-c++,64位操作系统。输出结果为:
如何解决?
留得枯荷听雨声lyx
onemoo
相关分类