s1e29课后作业疑问
问题1:测试题第六题能正常运行的原理是什么?#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;
}
问题2:为什么在我的电脑上运行会报错?错误如下
cannot convert 'int (*)' to 'int (*)' for argument '1' to 'void func(int (*))' ?
谢谢好心人!!!
宽度对不上 不要用C++环境学C语言,把后缀改成 .c
void func(int b[]);
int a
你的函数里二维数组长度是3,但是定义的a数组的长度是4
如果你就是为了专门实现这种长度对不上的情况,应该用到指针
void func (int (*pa))
int a
int (*pa) = a
func(pa) 就是要努力呀 发表于 2020-5-2 12:02
你的函数里二维数组长度是3,但是定义的a数组的长度是4
如果你就是为了专门实现这种长度对不上的情况, ...
谢谢 人造人 发表于 2020-5-2 09:49
不要用C++环境学C语言,把后缀改成 .c
你咋知道我这是cpp文件的呢{:5_106:} liuyuanji1995 发表于 2020-5-4 10:52
你咋知道我这是cpp文件的呢
首先,那些ide默认创建的就是 cpp
还有,C++对类型要求比较严格
页:
[1]