我之前的问题已得到解答,但我还有另一个同样的问题。当我尝试使用多维数组时,为什么代码不起作用?
void change(int *);
int main(void){
int array[1][2] = {2};
printf("%d", array[1][2]);
change(array);
printf("%d", array[1][2]);
}
void change(int *array){
array[1][2] = 4;
}
最佳答案
声明和定义时参数需要使用星号。 要使 array[0]=4,只需将 4 赋给 array[0](不带星号)即可。所以你的代码应该是:
void change(int *);
int main(void){
int array[1] = {2};
printf("%d", array[0]);
change(array);
printf("%d", array[0]);
}
void change(int *array){
array[0] = 4;
}
关于c - 为什么我无法将此数组传递给函数并对其进行编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56307004/