如何使用字符串数组调用函数

问题描述 投票:1回答:1

我已经创建了一个函数,但是我在调​​用它时很挣扎。

这是该函数的原型:

char *test(int argc, char **argv);

我尝试用这种方式调用它,但是它不起作用:

int main()
{

    char tab[3][3] ={
     "Yo",
     "Hi"};

    test(2, tab);


  return (0);
}
c
1个回答
0
投票

这确实是不兼容的指针类型。 char[3][3]char**不兼容。

要么将参数更改为char(*)[3](将无大小的数组更改为3的数组,要么将tab声明更改为char *tab[3]


0
投票

对我来说这有效:

char* test(int index, char** char2Darray)
{
    return char2Darray[index];
}

int main()
{

    char* tab[2] ={
     "Yo",
     "Hi"};

    test(1, tab);


  return (0);
}

我认为您的代码中有两个问题:

  • 您提供的选项卡只有两项
  • 您的选项卡是指向char [3]类型而不是char *的指针>
© www.soinside.com 2019 - 2024. All rights reserved.