#include <stdio.h>
const float pi=3.14f;
float f;
float f1(float r)
{
f=r*r*pi;
return f;
}
int main()
{
float f1(float=5);
float&a=f1();
printf("%f\n",a);
return 0;
}
大家帮忙看下,为什么倒数第四行出问题了,这是怎么个情况,小弟实在是不懂啊...哪出问题了?
第1个回答 2012-08-03
C语言中没用 “引用” 的概念,这是C++中才有的
在C语言中 &做为单目运算符的时候,表示取址符,例如 &a 表示变量a的地址
做为双目运算符的时候表示按位与,如 1 & 2 的结果是 0( 相当于二进制的 01 & 10 )
你这个例子中,应该是要定义一个变量a,用来接收f1函数的返回值 ,把main函数代码改成如下就可以了
int main()
{
float a=f1(5);
printf("%f\n",a);
return 0;
}
C语言中没有 float f1(float=5)这种用法
在C语言中 &做为单目运算符的时候,表示取址符,例如 &a 表示变量a的地址
做为双目运算符的时候表示按位与,如 1 & 2 的结果是 0( 相当于二进制的 01 & 10 )
你这个例子中,应该是要定义一个变量a,用来接收f1函数的返回值 ,把main函数代码改成如下就可以了
int main()
{
float a=f1(5);
printf("%f\n",a);
return 0;
}
C语言中没有 float f1(float=5)这种用法
第2个回答 2012-08-03
float f1(float=5);
float是返回类型,r是形参,但还是调用不能这样写啊。应该是 f1(5);本回答被提问者采纳
float是返回类型,r是形参,但还是调用不能这样写啊。应该是 f1(5);本回答被提问者采纳
第3个回答 2012-08-03
去掉 &;
写法如下:
float a=f1();
楼主请试一下,望采纳!
写法如下:
float a=f1();
楼主请试一下,望采纳!
第4个回答 2012-08-03
把
float f1(float=5);
float&a=f1();
去掉
写成:float a=f1(5);
float f1(float=5);
float&a=f1();
去掉
写成:float a=f1(5);
第5个回答 2012-08-03
直接写5