|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <stdlib.h>
- void func(int a[]);
- void main()
- {
- int a[10] , i;
- printf("输入数组元素:\n");
- for(i = 0 ; i < 10 ; i++)
- scanf("%d" , &a[i]);
- printf("main()函数中:");
- for(i = 0 ; i < 10 ; i++)
- printf("%4d" , a[i]);
- printf("\n");
- printf("main()中数组的长度为: %6d\n" , sizeof(a));
- func(a);
- system("pause");
- }
- /***********************************************************************************
- 通过下面来那个不同功能的函数你会发现:
- 1.函数能输出传递来的数组中的每一个函数;让你认为的确是传递来了整个数组;
- 2.当使用sizeof(a);本想得到整个数组的长度时,你却发现结果为4;这不是指针的长度吗?
- ***********************************************************************************/
- void func(int a[])
- {
- int i;
- printf("func()函数中数组(传递而来)为: \n");
- for(i = 0 ; i < 10 ; i++)
- printf("%4d" , a[i]);
- printf("\n\n%d\n\n" , sizeof(a));
- }
- /*
- void func(int a[])
- {
- printf("func()中数组的长度: %6d\n" , sizeof(a));
- }*/
复制代码
既然可以输出传递的整个数组,为什么想要得到数组长度却不行了呢??
希望给大家帮帮!! 先谢过!!
|
|