如何在c中将一个void函数(void)作为参数传递给另一个函数
[在此输入图像描述][1]我有一个函数如何在c中将一个void函数(void)作为参数传递给另一个函数,c,parameters,function-declaration,C,Parameters,Function Declaration,[在此输入图像描述][1]我有一个函数void readline(),它输出一个字符串,我想把它作为参数传递到另一个函数中,我该怎么做 谢谢你的帮助 int scorecount(argc1, argv1, void readline()); void readline(); int main(int argc, char *argv[]){ scorecount(argc,argv); } int scorecount(argc1, argv1, void readline()
void readline()
,它输出一个字符串,我想把它作为参数传递到另一个函数中,我该怎么做
谢谢你的帮助
int scorecount(argc1, argv1, void readline());
void readline();
int main(int argc, char *argv[]){
scorecount(argc,argv);
}
int scorecount(argc1, argv1, void readline()){
output a int
and I want to use the string from readline function somewhere in
scorecount
}
void readline(){
output a string
}
可以使用参数的任何名称将参数声明为函数声明。比如说
void another_function( void readline( void ) );
函数另一个函数可以调用如下
another_function( readline );
scorecount( argc, argv, readline );
编译器将函数声明调整为指向函数的指针。因此,上述声明相当于
void another_function( void ( *readline )( void ) );
编辑:更新代码后,函数应该声明为
int scorecount( int argc, char * argv[], void readline( void ) );
void readline( void );
打电话给我
another_function( readline );
scorecount( argc, argv, readline );
您需要显示更多的代码,您的问题不清楚,因为它就在这里。或者你可能需要阅读你的C教科书。你是说readline会给你输出字符串,你想把它传递到另一个函数,readline函数返回类型应该是“string”,也许你想,但它不会返回一个void
为什么你链接到实际的代码,然后输入了那个代码的近似值?请阅读,然后在你的问题文本中提供a。我对堆栈溢出非常陌生,我如何将我的代码放在这里让你们看到它?@HuYunfei我的答案不清楚,还是你还有一个问题?我想将readline func传递到一个已经在参数中传递了argc和argv的函数中,我应用了你的解决方案,错误appears@HuYunfei更新您的问题。@HuYunfei不提供对图像的引用。在问题中键入代码。