首页 > 解决方案 > 不同的地方得到不同的值

问题描述

有一个简单的问题。

这是我的代码:

#include <stdio.h>
void ArrayLength( int data[] ){
    int len = sizeof(data) / sizeof(data[0]);
    printf( "%d", len );
}
int main() {
  int data[10] = { 3, 5, 1, 2, 6, 6, 10, 29 ,39, 9};
  int len = sizeof(data) / sizeof(data[0]);
  printf( "%d", len );
  ArrayLength(data );
}

输出

10 2

我不知道为什么输出是10 2, 而不是10 10?

标签: c

解决方案


推荐阅读