c - 不同的地方得到不同的值
问题描述
有一个简单的问题。
这是我的代码:
#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
?
解决方案
推荐阅读
- php - 在php中重定向到Iframe之外的另一个页面
- ansible - 从 ansible playbook 内部执行 docker-compose
- sql - 使用 DAX 在 Power BI 中分离列
- javascript - 如何正确地将“this”对象发送到函数
- firebase - Firebase 实时数据库中有关身份验证的信息
- flask - 烧瓶护身符。将sha256列入白名单不起作用
- python - 在电脑上运行没有安装 python 的 python 脚本
- selenium - 无法在 selenium 中使用“$”字符编译 xpath
- java - PDFTextStripper 不支持同一 PDF 中的多种语言
- angular - 包装在 [innerHTML] 中时的角度跳过(不显示)内容