关于##C语言##的问题

有以下定义:int fun(int n,double x) {……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

此问题答案为什么不选择B?(参考答案选择C)
(过程尽可能详细!)

img

函数调用时不用在写函数的类型,直接传入参数即可,所以A是不对的。
函数返回值在函数声明时说明,在调用时,将值赋给变量即可,不用再在函数前说明返回值类型,所以D也是错误的。
其实B和C都是可以的,严格来讲的话就选C,因为函数有返回值,所以严格的使用方法就是用一个变量来接收函数的返回值。所以C是最符合要求的。因为在某些情况下,确实需要用到函数的返回值,所以B是一种不严谨的调用方法。
比如一个函数fun,用来判断两个数据的大小,如果a>b就返回1,否则返回0:
int fun(int a,int b){if (a>b) return 1;else return 0;}
在这个函数中,就必须用一个变量来接收函数的返回值,否则这个函数就失去作用了。