C语言,求问这道题的答案到底是C还是D呀,顺带解释下原因吧,感谢
3个回答
展开全部
选D,这涉及到二维数组传参的问题,在声明函数时f(int array[][5])中的array表示的是一个指向长度为5的数组的指针。那为什么不要选C呢?因为C声明的array指针指向的长度为4的数组的指针。但a[3][5]中的数组长度为5,所以选择D。
也许你有疑惑,那为什么D选项里面是f(int array[2][5])呢?实际上刚刚已经说了,array表示的是指针而不是具体的数组,所以int array[2][5]会被编译器解释为int array[][5]。而实际上第一个括号里面是可以填入任意的数字的,反正被编译后都会被解释为int array[][5]
也许你有疑惑,那为什么D选项里面是f(int array[2][5])呢?实际上刚刚已经说了,array表示的是指针而不是具体的数组,所以int array[2][5]会被编译器解释为int array[][5]。而实际上第一个括号里面是可以填入任意的数字的,反正被编译后都会被解释为int array[][5]
展开全部
把这道题当成错题吧,我觉得C和D都没毛病
以前见到和这道题基本一模一样的题,只是题干上定义的是int a[3][4];其他内容一样,那道题选C没毛病,所以这道题选C和D都没毛病了。
以前见到和这道题基本一模一样的题,只是题干上定义的是int a[3][4];其他内容一样,那道题选C没毛病,所以这道题选C和D都没毛病了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选c ,因为有首歌就叫都选c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询