C语言 fun

有以下程序:

#include <stdio.h>

#define FUN(x,y) x*y

main(){

int a=1,b=2;

printf(“%d”,FUN(a+b,a-b));

}

则执行后的输出结果为

C语言中,fun函数是用调用主函数的。它是指用fun来定义一个函数或是方法,这样在引用时可以用fun表示。比如fun(int x,y), fun(int x,y) 有上面的出现,必然在主函数里有调它,fun没有其它意思,只是在调时用到这个单词,上面的意思是调用主函数中的数值。

例如

int fun(int x,int y)

{

int m = 3;

return x*y-m;

}

这个函数表示的意思是使用fun函数就会得到x*y-m这个值,而x 对应主函数里面的a,y对应主函数里面的b。

所以结果为7*5 - 3 = 32,32/13 = 2。

扩展资料

C语言标准库中没有fun函数。fun函数是自定义函数,是使用来举例或作语法演示的,需要在使用前自行定义声明。

fun一词没什么特别含义,也可以换成别的名称,如"abc"或者"baidubaike"。它只表示引用之前出现的函数,以调用它执行一些需求,int fun(int x,int y)只是一个举例的函数名而已,以及其声明的参数类型。

参考资料来源:百度百科—fun

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-16
-3,它是预编译了一个函数,需要两个参数,进行乘运算,得到两个数之积
第2个回答  2011-05-16
结果是1
原因:经过#define FUN(x,y) x*y这个语句处理后的FUN(a+b,a-b)
变成了a+b*a-b ,即1+2*1-2=1

如果你用的是#define FUN(x,y) (x)*(y),那么结果就是(1+2)*(1-2)=-3
第3个回答  2011-05-19
你不明白的可能就是sum=fun((a++,b++,a+b),c++); 这段了。
首先,(a++,b++,a+b)和C++ 作为两个参数传个fun.先看(a++,b++,a+b)。这个语句的意思其实就是顺序执行a++,b++,a+b,然后将最终的值作为第一个参数传递个fun.所以经过a++,b++,a+b,可算出,最终a= 2,b=3,a+ b =5,因此(a++,b++,a+b) = 5.
至于c++,即是先将c的值传个fun,然后自加。因此fun((a++,b++,a+b),c++);即为fun(5,3),所以Sum = 8
本回答被提问者采纳
第4个回答  2011-05-16
这个是宏函数··是直接替换··不是按照(1+2)*(1-2)这样算,而是1+2*1-2 =1 +2 -2 =1
相似回答