【发布时间】:2017-06-23 07:08:03
【问题描述】:
#include <stdio.h>
int sum(int a, int b, int c) {
return a + b + c / 2;
}
void main() {
int (*function_pointer)(int, int, int); // how this will be interpreted
function_pointer = sum;
printf("%d", function_pointer(2, 3, 4));
return ;
}
当我在 ide 上运行时,它给出了输出 7,我不明白怎么做?
【问题讨论】:
-
第一行是#include
抱歉 -
为你解决了这个问题
-
您期望的输出是什么?以及为什么对你而言,将一个包含除法的函数称为“sum”?
-
2 + 3 + 4 / 2 = 7没关系。如果您的意思是平均数,请使用括号:(2 + 3 + 4) / 2 = 4 -
@tilz0R:但要小心整数运算的幽灵。那将是下一件事。
标签: c function output function-pointers