如何将void函数(void)作为c中的参数传递给另一个函数

时间:2017-09-15 10:22:26

标签: 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()){

    output a int
    and I want to use the string from readline function somewhere in
    scorecount

}


void readline(){

    output a string

}

1 个答案:

答案 0 :(得分:4)

您可以使用参数的任何名称将参数声明为函数声明。例如

void another_function( void readline( void ) ); 

函数another_function可以像

一样调用
another_function( readline );

编译器将函数声明调整为指向函数的指针。所以上面的声明等同于

void another_function( void ( *readline )( void ) ); 

编辑:更新代码后,该函数应声明为

int scorecount( int argc, char * argv[], void readline( void ) );
void readline( void );

并调用

scorecount( argc, argv, readline );