int a[4][5];sub(a[2]+1);则错误的sub函数的首部是A sub(int (*p)[5])B sub(int p[6])C sub(int *p)D sub(int p[0])====参考答案是D,求详细解释
不太明白sub是什么唉~
错误的应该是A,
B、C、D形参p实质都是一个int 型指针变量。在形参中指定数组长度没有意义。可参考:
http://blog.csdn.net/qq_27183003/article/details/49638895
扯淡的题目,压根看不出哪里不对。于是我每个都用编译器测试了一次
结果如下
http://codepad.org/Odk5s9sA
http://codepad.org/VeErf6Rt
http://codepad.org/P5o9nJsA
http://codepad.org/mO8rqaPJ
所有都是合法的。
A定义了一个指向一行是5个int型的指针变量,p+1移动5个元素;
a[0]+1是int *指针,所以这个实参和形参不符。
错误的是A