缺乏自动取款机,所以我通过贝宝提供$ 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