关于数组的一个问题
#include<stdio.h>void fun(int a[11],int b[6])
{
printf("%d,%d\n",sizeof(a),sizeof(b));
}
void main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10},b[6] = {0};
printf("%d,%d\n",sizeof(a),sizeof(b));
fun(a,b);
}
输出结果 40,24
4,4
谁能详细解释一下
2012-11-26 21:20
void fun(int a[11],int b[6])这里的a[11]应该是a[10]吧?要不答案说不通的。。
printf("%d,%d\n",sizeof(a),sizeof(b));sizeof()是寻址符。由于int变量占用了4个字节,所以对应的a[10]和b[6]应该是10*4=40,6*4=24
2012-11-26 23:13
2012-11-27 08:45
2012-11-27 10:07
2012-11-27 10:27