77问答网
所有问题
C语言,括号里写个(float,float,float)就错了,填一个也报错。运行不出来。这是为什
C语言,括号里写个(float,float,float)就错了,填一个也报错。运行不出来。这是为什么啊?这里的double(*f)()要空着吗?
举报该问题
推荐答案 推荐于2016-05-22
double (*f)();
这句话的意思是定义一个函数指针,名字叫f,这个函数指针指向返回值是double类型,参数是void类型的函数。
f=f1;
f1是一个返回值是double类型,参数是double类型的函数。这里强制将f1转换成返回值是double类型,参数是void类型的函数,然后赋值给函数指针f;
r1=(*f)(a);
这句话是将a作为参数调用函数指针f,编译器会对函数的入参做检查。f要求参数是void,所以你可以传参数,也可以不传参数,编译器都不会报错,所以这么写是正确的。
编译器不管f指向的是哪一个函数,他只管f的声明类型。声明类型参数是void,即使指向f1函数,参数是double,仍然可以不传参数,直接写成
r1=(*f)();
都是可以的。
但是如果你写成
double (*f)(float,float,float);
那么后面调用函数f的时候,必须传入三个或以上的参数才可以。但是代码里面只传递了一个参数,那肯定会报错的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8qGpqv3p8pYpN3Y3WI.html
其他回答
第1个回答 2015-01-12
double (*f)(double p,...);
追问
不明白?可以说详细点吗?初学者一枚
相似回答
c语言程序,
请问
为什
么我用
float
时会出现误差
答:
而打印格式为%f的时候,数据会以8字节出栈!这个时候后32bit都是0,(正常来讲原数是一直循环的)所以打印出的结果就这样了;而你定义成双精度,它本身就是8字节存储,(相比单精度存储,他后32bit是有数据的!)所以这个时候取出的8字节,四舍五入直接就是0.6!就好比你定义输出%.1f一样,也会...
关于
C语言
的
一个
问题#include <stdio.h> main
()
{
float
答:
main是主函数,一个程序必须有主函数,而且括号是必不可少的,因为main函数是无形式参数函数,所以括号为空
,或者在括号里加上void,表示无形式参数。main函数前边加void表示无返回值函数类型,括号里加void表示无形式参数
c语言
题目?
答:
错误的语句是B
。分析如下:A.y=x[3]; 正确,y是float类型,x[3]也是float类型。B.y=x+1; 错误,y是float类型,x是float*类型(指向float类型的指针)。C.y=x[2]+1; 正确,y是float类型,x[2]也是float类型。D.x[0]=y; 正确,x[0]是float类型,y也是float类型。B的正确...
这个
C语言
怎么转换不了
float
啊,帮忙
答:
首先,
这么写运行起来是没有问题的,正确输出15
。分析可知:这里的f本来是int类型,但是在(float)(a+b)首先对结果15做了强制类型转换变成了15.000000,然后进行赋值的时候由于f是int类型,又进行了一次类型转换,使f最终的值变成了15。最后一句输出结果自然是15。其次,我猜你的本意应该是想如下写:in...
C语言里,
为啥
这个程序运行
的结果和预期不符合?
答:
因为是小数,即浮点数,精度有可能会不准,所以是会有误差的
C语言
编程最常见的15个错误
答:
编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。2.忽略了变量的类型,进行了不合法的运算。main(){
float
a,b;printf("%d",a%b); } 是求余运算,得到a/b的整余数。整型变量a...
C语言
计算中得出-1.#indoo是什么原因,有没有解决办法
答:
C语言
计算中得出-1.#indoo的原因一般有两类 第一类:数组下标溢出问题,例如数组出现负数的下标 第二类:数据类型上面的溢出,你如果求幂或者费伯拉西数列的时候,项数大很容易引发溢出
,float
类型数据溢出就报-1.#indoo
这个错误
.include <stdio.h> main() {float a[3]={0.0,1.0,3.0},b[3]={1....
大家正在搜
c语言中float和double
c语言float几个字节
C语言里的中括号
c语言括号运算
c语言float怎么用
c语言float定义
c语言float计算
c语言输入float
float在c语言中的用法
相关问题
下面两程序有什么区别(C语言),第二个程序括号中的float...
c语言中调用一个函数,例如float ave(float a...
c语言中的float型数据问题[在线等!!!]
一个计算c语言下的if语句的练习题,提示数据转换出错,打括号...
c++怎么改错cannot convert paramete...
求助,objC语言,CGFloat gradientLoca...
C语言编程,请问哪里错了 # include<stdio.h...
c语言 懂的来 int *(*p[5])(int,float...