在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1469|回复: 0

[资料] 有参数无返回值的函数

[复制链接]
发表于 2016-4-25 17:06:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

函数printfline在每次被调用时都将显示同一行。对value函数也是如此。其实,我们也可以让调用函数从终端读取数据,然后将它传递给被调用函数。这种方法看起来更明智些,因为如果有必要,在将数据传递给被调用函数之前,调用函数可以检查该数据的有效性。

我们可以如下修改两个被调用函数,使之包含参数:

void printline(char ch);

void value(float p,float r,int n)

参数chprn称为形参。现在,调用函数就可以使用带参数的函数调用来将值传递给参数了。例如,函数调用:

Value500012,5

就可以把值500,0.12,5传递给函数

void value(float p,float r,int n)

并把500赋给p0.12赋给r5赋给n。值5000.125就是实参。他们会成为被调用函数中形参的值。

实参和形参在数量、类型和顺序上必须匹配。实参的值就逐个赋给形参。

必须确保函数调用时参数要匹配。如果实参多余形参,那么多余的实参将会被丢弃。相反,如果实参少于形参,未匹配的形参将被初始化为垃圾值。数据类型的任何不匹配的情况都将导致传递垃圾值。记住,这是不会产生错误消息的。

形参必须是有效的变量名,而实参可以是变量名、表达式或常量。若使用变量作为实参,变量在函数调用之前必须已赋值。

记住,函数调用时,只是将实参的值的副本传递给了被调用函数。被调用函数中所发生的一切都不会影响实参中的变量。

void printline(char c);

void value(float,float,int);

main()

{

       floatprincipal,inrate;

       intperiod;

       printf("Enterprincipal amount,interest");

       printf("rate,andperiod\n");

       scanf("%f%f %d",&principal,&inrate,&period);

       printline('z');

       value(principal,inrate,period);

       principal('C');

}

void principal(char ch)

{

       inti;

       for(i=1;i<=52;i++)

              printf("%c",ch);

       printf("\n");

}

void value(float p,float r,int n)

{

       intyear;

       floatsum;

       sum=p;

       year=1;

       while(year<=n)

       {

              sum=sum*(1+r);

              year=year+1;

       }

       printf("%f\t%f\t%d\t%f\n",p,r,n,sum);

}


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-9 23:03 , Processed in 0.027530 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表