选择题   有以下程序:
    #include<iostream>
    using namespace std;
    int f(int,int);
    int main()
    {
      int i:1,x;
      x=f(i,i+1);
      cout<<x<<end1;
      return 0;
    }
    int f(int a,int b)
    {
      int c;
      c = a;
      if(a>b)
          c = 1;
      else if(a==b)
          c = 0;
      else
          c = -2;
      return  c;
    }
    运行后的输出结果是   
 
【正确答案】 D
【答案解析】本题考核对函数调用方法的掌握程度。做此类题主要是弄清楚程序每一步的目的:在主函数前面声明了整型函数f。在主函数中,调用了函数f()。实参的值分别是1和2,1传给函数f的形参a,2传给函数f的形参b,函数返回的值赋给变量x。即为输出的函数值。 具体分析一下函数f()的功能:如果a大于b,则赋予c的值为1;并且跳出if-else语句。如果a不大于b,则进入else if分支中,如果a等于b,则赋予c的值为0, 并跳出以下的if-else语句。如果a不等于b,则进入else分支,执行c=-2。因为实参1,2分别传给形参a,b,所以此时a<b,f()函数应执行c=-2。即最终输出应为-2。