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 –
不需要所有指針。刪除所有'*'和'&'。 –