关于C语言中sizeof求int型数组大小的问题
#include <stdio.h>int test(int *n)
{
return (sizeof(n)/sizeof(n));
}
int main()
{
int s;
printf("%d",test(s));
return 0;
}
请问上面的代码不能求得int型数组的大小!:ton:
请教各位这是什么原因? test(s)s是你的数字第一个元素的地址
然后再test函数里测得就是这个元素的大小我目测输出结果是1 函数接收的是一个int型指针,是不会算出数组的大小的…… sizeof算不出数组长度的,,, 在turbo C里面结果应该是2,VC++里面是1。 数组传进去做参数的时候是当做地址处理~return 的值是两个指针的比的值,也就是1.
所以你最后输出的是1.而不是数组长~
页:
[1]