我正在学习C语言。在一本书中看到函数原型的形式是void f(),但在函数声明或调用中,f函数都需要参数。因此,在函数声明中我们会看到类似void f(long double y[], long double A)的形式,而在调用函数时则是f(y, A)。该函数对数组y执行操作,即在调用函数时,数组y中的一些元素会改变。A是一个不变的数值常量。我有两个问题:
- 将函数原型定义为void f()是否是一种好的做法?还是像函数声明中那样将它定义为void f(long double y[], long double A)更好?
- 被调用的函数f正在更改数组y中的元素。void是否是正确的返回类型?该程序以void作为返回类型描述运行良好。或者我应该将所有的"void"都改为"long double"?我使用长双精度浮点数,因为我需要尽可能高的精度,尽管在我的计算机上double和long double都可以提供15位有效数字。