0
我试图将2x2 char矩阵传递给我的函数,以便我可以修改其内部的值。现在在我的代码中,唯一改变的值是矩阵的第一行,第一行不改变。通过引用C传递2D数组并修改值
控制台,我的结果是
C[0] = ab
C[1] =
所以C [1]是不是在我的功能更新,请帮我弄清楚是怎么回事。
下面的代码
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void changeMatrix(char (*matrix)[2][2]){
strcpy(*matrix[1], "cd");
strcpy(*matrix[0], "ab");
}
int main(){
char C[2][2];
changeMatrix(&C);
printf("C[0] = %s \n", C[0]);
printf("C[1] = %s \n", C[1]);
}
这些字符串需要3个字符的空格 - 2个字母+'\ 0'(字符串终止符)。 –
就是这样。非常感谢你。但是现在1号位出现了一些垃圾。 C [0] = ab C [1] =t cd –
不需要所有指针。删除所有'*'和'&'。 –