我正在尝试将字符串插入char *指针,但显然无效。
我读过我可能需要使用malloc或其他东西?但其他网站并未明确分享。
char* token[1000];
gets(token);
printf("%s\n",*token);
由于
更新
现在我必须将指针(指向字符串)插入到带有显示参数的函数中。
int function(char *token[]);
char token[1000];
gets(token);
char*text=token;
printf("%s\n",text);
function(text);
预期'char **'的错误,但参数的类型为'char *'
答案 0 :(得分:5)
您的变量声明错误,您声明了一个包含1000个字符指针的数组,而不是1000个字符。删除*
。
也永远不要使用gets()
,请始终使用fgets()
,因为它更安全。没有什么能阻止用户使用gets()
输入超过1000个字符,这会溢出缓冲区。