0

我是 C 编程新手,并试图弄清楚为什么在尝试将 char 变量传递给函数时会出错

char cmd[100];
getLine(&cmd, &line);

函数声明:

int getLine(char *cmdl, char *str)

错误:

cannot convert char (*)[100] to char* for argument 1 to int getLine(char*, char*)
4

2 回答 2

2

您的函数参数类型是char *. 所以你不需要使用&cmd. 只需使用cmd将传递该数组的基地址。

因此,您可以像这样调用函数:

getLine(cmd, &line);

或更改函数声明,如:

int getLine(char **cmdl, char *str)
于 2013-07-30T06:17:51.577 回答
0

正如 Midhun MP 已经说过的,数组已经作为指针/引用传递,所以不需要在函数调用中引用它。

于 2013-07-30T07:32:17.740 回答