2023-07-26 12:52发布
是不是和是否有return有关
你是说那个double的问题吗?那个跟return没有关系,在任何地方都通用。
我说FUN
哦对,fun确实要加double而不是void,我只看你的问题了,没看代码,呵呵。你说通过return来看函数的类型,在改错题例这么看确实没错;不过有个先后顺序的,你要先知道函数有返回值,才会写出return语句啊
在定义函数时,函数前要加返回值的数据类型名。如果函数体最后没有“return ;”这个语句,即没有返回值,则函数名前面的类型名就是“void fun()” 而你定义的函数,是有返回值的。并且返回值数据类型是双精度。所以:void fun ( int n )应改为:double fun(int n)因为返回值是一个双精度的数据类型。 另外: s = s + (Double)a / b;要改为小写的字母:应为 s = s + (double)a / b;
试题解析: (1)double fun( int n)(2)s=s+(double)a/b;【考点分析】本题考查:函数定义,函数定义的一般形式为:”类型标识符函数名(形式参数表列)“,其中类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。【解题思路】(1)由语句”return(S)”和变量s定义为double数据类型可知,该函数定义时其类型标识符为double类型。(2)注意数据类型double的书写格式。【解题宝典】确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为void型;如果函数有返回值,该函数类型应与返回值类型一致;如果不定义函数类型标识符,则系统默认为int型。
最多设置5个标签!
回答你最后一句话的问题,改成你那样是错的:两个整型进行除法计算,你应该知道吧,会把小数部分忽略掉,(double)(a/b),就是把算出来的错误结果进行强制转换,没有任何意义;如果先对a进行强制转换,那么这个浮点数在和另一个整型数进行计算的时候,根据c语言的规则,整型数会自动转换成浮点数,算出来的结构就是正确的。更多追问追答追问 追答 追问 追答
在定义函数时,函数前要加返回值的数据类型名。如果函数体最后没有“return ;”这个语句,即没有返回值,则函数名前面的类型名就是“void fun()”
而你定义的函数,是有返回值的。并且返回值数据类型是双精度。所以:
void fun ( int n )
应改为:double fun(int n)
因为返回值是一个双精度的数据类型。
另外:
s = s + (Double)a / b;
要改为小写的字母:应为 s = s + (double)a / b;
试题解析: (1)double fun( int n)
(2)s=s+(double)a/b;
【考点分析】
本题考查:函数定义,函数定义的一般形式为:”类型标识符函数名(形式参数表列)“,其中类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。
【解题思路】
(1)由语句”return(S)”和变量s定义为double数据类型可知,该函数定义时其类型标识符为double类型。
(2)注意数据类型double的书写格式。
【解题宝典】
确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为void型;如果函数有返回值,该函数类型应与返回值类型一致;如果不定义函数类型标识符,则系统默认为int型。
一周热门 更多>