出力は常に 8 です。この数値がどこから来たのか、配列のサイズである 6 の正しいサイズを取得するにはどうすればよいのでしょうか?
#include <stdlib.h>
#include <stdio.h>
void cal(int a[])
{
printf("the size of array is= %d\n", (int)(sizeof(a)/(sizeof)(int)));
}
int main ()
{
int lis[]={1,2,3,4,5,6,7,8,9};
cal(&lis[3]);
return 0;
}