A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 万雷 高级黑马   /  2014-10-25 10:43  /  1113 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学习了函数我们都知道,我们会把一些具有常用功能的函数封装起来,定义一个新函数,并且在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()函数的值呢?

5 个回复

倒序浏览
of course~

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

(你的例子是给a,b赋值常数,你把变量a,b改为scanf接收的数值)
回复 使用道具 举报
代码奉上
  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. }
复制代码
回复 使用道具 举报

谢谢大神
回复 使用道具 举报
点一个赞
回复 使用道具 举报
点一个赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马