我知道如何修改main中的指针数组,但不知道当我的函数需要修改它时如何去做。 **之间的代码是我如何在没有使用函数的情况下执行它。我知道如何打印出指针指针数组。我的问题是,假设我想将这些行移动到函数()中,我需要修改什么?如何将指针指针数组传递给函数?
代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void function(char *array[], int size);
void function_print(char *array[], int size);
int main()
{
char *array[] = {0};
char word[20];
**scanf("%s", word);
int len = strlen(word) + 1;
array[size] = (char *)malloc(sizeof(len));
strlcpy(array[size], word, sizeof(array[size]));**
function(array, 0);
return 0;
}
void function(char *array[], int size)
{
}
void function_print(char *array[], int size)
{
for(int x = 0; x < size; x ++)
{
printf("%s", *array);
(array)++;
}
}
~
~
你在做什么没有意义* *之前,你的函数调用。它看起来并不像你甚至需要一组指针来做你可能想做的事情。而且,你使用'sizeof()'这两个地方看起来有问题,可能没有做你想要的。通过澄清你打算做的事情,你可能会得到更好的答案。 – antak