缺乏自動取款機,所以我通過貝寶提供$ 0.25給第一個人指出我在這段代碼中做了什麼錯誤 - 我希望這不會違反網站規則或侮辱任何人。我想修改一個函數中的多維數組。它在函數中被修改,但是當範圍返回到主函數時,數組不變。修改二維字符數組傳遞給C中的函數
函數標題不能修改。謝謝你的協助。
void getAlignment(char*s1, char*s2, char*s3, char*aligned[])
{
/***********************
Code here which assigns
char**tmp to "different" "words"
***********************/
printf("tmp in getAlignment function\n");
printf("%s %s\n", tmp[0], tmp[1]); // prints "different words", as expected
aligned = tmp;
}
int main(void)
{
// skipped some code
char** aligned = (char**)malloc(sizeof(char*)*2);
aligned[0] = "should";
aligned[1] = "change";
printf("%s %s\n", aligned[0], aligned[1]); // prints "should change", as expected
getAlignment(s1, s2, transcript, aligned); // how do i change aligned during this call?
printf("%s %s\n", aligned[0], aligned[1]); // prints "should change"
return 0;
}
你想在getAlignment()函數中做什麼?什麼是預期的輸出? – user207064
這個想法是我在'main'中對齊過的,我想通過指向'getAlignment'方法改變的東西來改變'getAlignment'。 – Rob