我有一個小問題:我可以計算一個向量的長度,但只有當向量是在同一個函數中定義的時候。當我嘗試將矢量傳遞給另一個函數時,它會返回錯誤的輸出,我不明白爲什麼。一個向量的長度,初學者
#include <stdio.h>
int len(int vec[]);
main()
{
int a[6];
printf("%d\n", sizeof(a)/sizeof(int));
printf("%d\n", len(a));
return 0;
}
len(int vec[])
{
return sizeof(vec)/sizeof(int);
}
輸出爲:
6
1
爲什麼功能len()
不起作用?它應該返回6而不是1.
可能重複[C編程語言中數組的大小?](http://stackoverflow.com/questions/1975128/sizeof-an-array-in-the-c-programming-language) – Lundin