1613551 发表于 2022-5-22 17:06:16

函数的问题

这个程序调用func函数,不是应该把a第一个元素的首地址给传过去func函数里面吗?那么b应该是11啊,为什么结果会是9呢?
#include <stdio.h>

void func(int b[]);

void func(int b[])
{
    printf("%d\n", b);
}

int main(void)
{
    int a = {
      {1, 2, 3, 4},
      {5, 6, 7, 8},
      {9, 10, 11, 12}};

    func(a);
    return 0;
}

1613551 发表于 2022-5-22 17:10:43

懂了,因为形参那里定义的元素个数是3

豆嘉木 发表于 2022-5-22 17:12:30

你用数组指针试试

1613551 发表于 2022-5-22 17:19:46

豆嘉木 发表于 2022-5-22 17:12
你用数组指针试试

..我居然不知道怎么用数组指针改写...

豆嘉木 发表于 2022-5-22 17:22:49

1613551 发表于 2022-5-22 17:19
..我居然不知道怎么用数组指针改写...

哦哦不用了,原来是函数声明错了哈哈哈哈我也经常这么干,数组指针你可以再去看看小甲鱼的指针数组与数组指针那节课{:10_254:}
页: [1]
查看完整版本: 函数的问题