全部问题 > 当前问题

a为什么会自增


王小波 2017-8-15 22:49:26

共 0 个回答

问题来自: 形参和实参
有以下程序
#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. 503
B. 401
C. 500
D. 1404
答案:A
解析:通过for 循环,循环3次来调用 f 函数 第一次 i = 0 a += f((double)0) = 0 + 1 = 1; a = a + 1 = 1; 第二次 i = 10 a += f((double)10) = 100 + 1 = 101; a = a + 101 = 102; 第三次 i = 20 a += f((double)20) = 400 + 1 = 401; a = a + 401 = 503; 其中%5.0f表示输出的数据占5位,小数部分没有,不足5位的前面补空格。因此选A。