2 hotyin hotyin 于 2014.08.17 01:33 提问

C语言二维数组传参问题

#include

void dfs(int **a,int m,int n){
int stack[36]={0};
printf("%d\n",*(*(a+1)+1));
}

int main(){
int a[3][3] = {1,2,3,4,5,6,7,8,9};
dfs((int**)a,3,3);
return 0;

}

运行结果是出现段错误?求解

2个回答

u012640168
u012640168   2014.08.17 02:38

不是特别理解那个函数的意义。
**a的意思是二次指针吗?该指针指向一个整型变量吧。

在主函数里面定义的a是二维数组,a是地址常量。

amoyman
amoyman   2014.08.17 09:31

函数原型应该是这样的。
void dfs(int *a[3], int m, int n);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!