在C/C++中,数组长度要你设定或输入的,也就是你定义时,就应该知道数组的长度了,如最简单的int a[10]; //定义 一个整形数组,长度为10定义完成后,无论是是否存放内容,它的长度是不变的所以不存在计算数组中有多少个数这个说法(上面的,就是10个)当然,ISO C99及C++0x以上标准的编译器支持动态数组,如int a[n];但它一旦定义,长度也定了,就是n个numlenth = sizeof(num) / sizeof(int); 的结果就是上面的10或n只是为了维护程序方便才用的(只要修改定义,下面的程序就不用改了)