#include<stdio.h>
float y,q;
function(float k);
main(void){
    scanf("%f",&y);
    q=function(y);
    printf("%f",q);
    getch();
  } function(float k){   return (k/2);
 }
为什么浮点数必须声明  function(float k); 呢??
还有这个 & 是什么意思呢??
我只知道是取地址 符,具体不明白。。下面这个整形类型就不需要
#include<stdio.h>
int y,q;main(void){
    scanf("%d",&y);
    q=function(y);
    printf("%d",q);
    getch();
  } function(int k){   return (k/2);
 }

解决方案 »

  1.   

    为什么浮点数必须声明  function(float k); 呢?? 
    要预先申请这个函数,不然main函数就不知道有这个函数存在,你下面的没有在main前定义,然后就会报错scanf("%d",&y); 
    &表示将取得的值放到y的地址中
      

  2.   

    为什么浮点数必须声明  function(float k); 呢?? 因为函数的实现在最后,在前面的main函数里面用到了它。所以提前声明一下。 你也可以把实现放在main前面。提前声明的要写类型,但可以不写参数,如上面的k可以不写的。
      

  3.   

    下面的int型函数同样是要提前声明的。
    否则编译不过去
      

  4.   

    函数使用在函数定义之前的话需要提前进行被调用函数声明
    &是取地址操作符