🔴 长度是在哪一刻丢掉的

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

(本条路线统一用 gcc -std=c11 -O0 编译)同一个数组,一个在外面数,一个在函数里数:

#include <stdio.h>

/* 数组一传进函数就"退化"成指针,长度在这里已经丢了 */
int count_inside(const int *a) {
    (void)a;
    return -1;              /* 函数里根本算不出来,只能由外面告诉它 */
}

int main(void) {
    int a[5] = {10, 20, 30, 40, 50};
    int outside = sizeof(a) / sizeof(a[0]);
    printf("%d/%d\n", outside, count_inside(a));
    return 0;
}
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论