有以下程序: #include<iostream> using namespace std; int f(int,int); int main() { int i:1,x; x=f(i,i+1);

admin2010-03-29  24

问题 有以下程序:    #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;    }    运行后的输出结果是(    )。

选项 A、1
B、0
C、-1
D、-2

答案8

解析 本题考核对函数调用方法的掌握程度。做此类题主要是弄清楚程序每一步的目的:在主函数前面声明了整型函数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。
转载请注明原文地址:https://kaotiyun.com/show/36jp777K
0

最新回复(0)