全部问题 > 当前问题

求助教解答(●'◡'●)

有以下程序
#include <stdio.h>
double f(double x);
main()
{ double a=0; int i;
  for(i=0;i<30;i+=10) a+=f((double)i);
  printf("%5.0f\n",a);
}
double f(double x)
{ return x*x+1;}
程序运行后的输出结果是 _A_____ 。

 为i什么a+=f((double)i)当i =0时,double 0 代入得1, 而此时应该是a+=f(1),难得不应该再次代入得1*1+1=2么。。。

四年半。 2016-8-4 21:43:26

共 1 个回答

嘿嘿大人 2016-8-4 21:51:28

看题目要看清楚,a+=f((double)i)这里面就是一个强制转化类型,没有再调用了,i=0时这个语句就等于a+=f(0),看清楚没有进行嵌套调用

问题来自: 形参和实参