C中的类型错误

C中的类型错误,c,types,C,Types,我正在学习C打字,我想知道下面的例子有什么问题。当我试图编译它时,我得到了一个错误:“格式'%I'需要int类型,但参数2的类型为'int(*)(int,int)'” #包括 整数差(整数x,整数y); 整数和(整数x,整数y); main(){ int different=差值(10,5); 积分=和(3,4); printf(“差异:%i,总和:%i\n”,差异,总和); } 整数和(整数x,整数y){ 返回x+y; } 整数差(整数x,整数y){ 返回x-y; } 您使用了sum(一个函数

我正在学习C打字,我想知道下面的例子有什么问题。当我试图编译它时,我得到了一个错误:“格式'%I'需要int类型,但参数2的类型为'int(*)(int,int)'”

#包括
整数差(整数x,整数y);
整数和(整数x,整数y);
main(){
int different=差值(10,5);
积分=和(3,4);
printf(“差异:%i,总和:%i\n”,差异,总和);
}
整数和(整数x,整数y){
返回x+y;
}
整数差(整数x,整数y){
返回x-y;
}
您使用了
sum
(一个函数),您可能打算使用
thesum
(一个
(int)
变量)。

尝试:

printf("difference: %i, sum: %i \n", differ, thesum);

您正在传递函数原型,而不是调用的结果。

伙计,如果您更改原始问题以更正初始错误,人们将很难弄清楚您的问题到底是什么。我恢复到原始形式,以便每个人都可以看到错误。
printf("difference: %i, sum: %i \n", differ, thesum);