若有以下程序 int f(int x,int y) { return(y-x)*x;} main() { int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); printf("%d\n"

admin2009-04-15  22

问题 若有以下程序
   int f(int x,int y)
   { return(y-x)*x;}
   main()
   { int a=3,b=4,c=5,d;
     d=f(f(3,4),f(3,5));
     printf("%d\n",d) ;
   }
   执行后输出结果是【  】。

选项

答案9

解析 函数的嵌套调用是在主函数中函数f(f(3,4),f(3,5))的返回值赋给d。函数的第一个参数为f(3,4)的返回值,函数f(3,4)返回值为(4-3)*3=3,f(3,5)返回值为 (5-3)*3=6,那么函数f(f(3,4),f(3,5))等价于函数f(3,6)其返回值为(6-3)*3= 9。因此d被赋值为9,所以输出9。
转载请注明原文地址:https://kaotiyun.com/show/6oWp777K
0

最新回复(0)