首页 > C > 函数 阅读:57,774

函数的返回值,输入,输出参数

现在我们再来研究下函数的形参与返回值。我们将函数的声明信息,包括参数、返回值、调用约定(参考7.9一节)等称为函数的签名。

函数将数据处理完毕后的计算结果返回给调用者,可以通过返回值,也可以通过输出参数。

比如计算2个数的加法运算,那么函数的实现如下:

 

int add1(int x, int y)//将结果以返回值的方式传递给调用者

{

    return x+y;

}

void add2(int x, int y, int *sum)//将结果以输出参数的方式

{

    *sum=x+y;

    return;

}

void add3(int x, int y, int &sum)//将结果以输出参数的方式

{

    sum=x+y;

    return;

}

上面定义的3个函数,add1将结果以返回值的形式返回给调用者;add2将结果通过第三个参数sum(传指针)的方式返回给调用者,我们把sum叫做输出参数,把x,y叫输入参数;add3通过第三个参数sum(传引用)的方式返回给调用者。

int main(void)

{

    int a=10;

    int b=15;

 

    int res=0;

 

    printf(“%d+%d=%d\n”,a,b,add1(a,b));

 

    add2(a,b,&res);

    printf(“%d+%d=%d\n”,a,b,res);

 

    add3(a,b,res);

    printf(“%d+%d=%d\n”,a,b,res);

 

     return 0;

}

 

main函数的返回值与命令行参数,main函数的定义如下:

int main(int argc,char *argv[])

{

    for(int i=0;i<argc;i++)

         printf(“%s\n”, argv[i]);

    return 0;

}

入口函数main()2个输入参数,其中argc表示在运行程序的时候传递给程序的参数个数(程序名称算是第一个参数),argv[]是字符指针数组,里面存放这传递给程序的具体参数。当把上面的程序编译之后,加入编译后的名称叫:demo.exe,那么按照如下方式运行程序:

demo.exe p1 p2 p3

那么demo.exe将会获得4个参数,也就是argc4argv[0]”demo.exe”argv[1]”p1”argv[2]p2argv[3]p3,所以程序输出为:

demo.exe

p1

p2

p3

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注