少し問題がありました。ベクトルの長さを計算できますが、ベクトルが同じ関数で定義されている場合に限られます。ベクトルを別の関数に渡そうとすると、間違った出力が返され、その理由がわかりません。
#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()
が動作しないのですか?1 ではなく 6 を返す必要があります。