我是 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*)
最佳答案
您的函数参数类型是 char *
。所以你不需要使用&cmd
。只需使用 cmd
即可传递该数组的基地址。
所以你要么像这样调用这个函数:
getLine(cmd, &line);
或者像这样改变函数声明:
int getLine(char **cmdl, char *str)
关于c - 传递函数 char 参数返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939506/