我知道如何修改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