首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙看下这个有关问题

2012-02-06 
帮忙看下这个问题。int arr[6]{0,4,3,2,5,1}则sizeof(arr)/sizeof(int)结果为6.但是如果有如下函数C/C++

帮忙看下这个问题。
int arr[6]={0,4,3,2,5,1};
则sizeof(arr)/sizeof(int)结果为6.

但是如果有如下函数

C/C++ code
void fun(int *arr){int i;for(i=1;i<=sizeof(arr)/sizeof(int);i++){//}}

循环体却不会执行,为什么?

[解决办法]
void fun(int *arr) 传进来的arr的大小是4,

void fun(int *arr)
{
int i;
for(i=1;i<=sizeof(arr)/sizeof(int);i++)
{
 cout<<sizeof(arr)<<endl;
}
运行这个就可以看到了;
你可能是要传递一个数组,但是只有一个指针信息是不够的,数组大小要再加个参数才能传进去吧
如:void fun(int *arr,int size)
//当然可能有只传一个指针就能搞定的方法,请高手们指点指点了

热点排行