黑马程序员技术交流社区

标题: 被调用的函数能不能接收scanf函数的值 [打印本页]

作者: 万雷    时间: 2014-10-25 10:43
标题: 被调用的函数能不能接收scanf函数的值
学习了函数我们都知道,我们会把一些具有常用功能的函数封装起来,定义一个新函数,并且在main()函数中调用,比如:int average(int num1,int num2)
{
    return(num1+num2)/2;
}

main()
{   int a=10;
    int b=9;
int c=average(a,b);
printf("c is %d",c);
return 0;
}

我们总是把a,b的固定值复制给num1和num2,也就说如果我们要算不同的两个数的平均值,就必须在main()函数中去改变a,b的值才能实现,
那么请问大家
如果求的是两个不确定的数的平均值,也就是需要用户手动输入的,那么能否实现用 scanf()函数,当用户输入两个数值之后,再复制给num1和num2进行计算,也就是说被调用函数能不能接收手动输入的   scanf()函数的值呢?

作者: Jr_711    时间: 2014-10-25 10:55
of course~

scanf需要有变量接收,然后再把这些变量当做函数参数就行了

(你的例子是给a,b赋值常数,你把变量a,b改为scanf接收的数值)
作者: 弹琴骚年    时间: 2014-10-25 11:50
代码奉上
  1. #include <stdio.h>

  2. int average()
  3. {
  4.     int num1, num2;
  5.     printf("请输入num1:");
  6.     scanf("%d", &num1);
  7.     printf("请输入num2:");
  8.     scanf("%d", &num2);
  9.     return(num1+num2)/2;
  10. }

  11. int main()
  12. {
  13.     int c=average();
  14.     printf("average is %d\n",c);
  15.     return 0;
  16. }
复制代码

作者: 万雷    时间: 2014-10-25 11:57
弹琴骚年 发表于 2014-10-25 11:50
代码奉上

谢谢大神
作者: 菜鸟_琦    时间: 2014-10-25 12:28
点一个赞
作者: zhao190109    时间: 2014-10-25 23:52
点一个赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2