选择题   以下程序的输出结果是______。
   
试题程序

    #include <stdio.h>
    main()
    { int i=2, p;
    p=f(i, i+1);
    printf('% d\n', p);
    }
    int f(int a, int b)
    { int c;
    c=a;
    if(a>b)
    c=1;
    else if(a==b)
    c=0;
    else
    c=-1;
    return(c);
    }
 
【正确答案】 A
【答案解析】以上程序中定义了名为f()的整型函数,它有两个int类型的形参。在main()函数中调用了f()函数,可以很直观地看到,实参的值分别是2和3,2传给函数形参a,3传给函数形参b。函数返回的值赋给变量p,main()函数中输出的值就是函数中的返回值。在函数f()中,若a的值大于b,c被赋1;若a的值等于b,c被赋0;若a的值小于b,c被赋-1。按照实参传送过来的值,a的值小于b,因此c被赋-1,所以函数的返回值为-1。总结:本题中没有复杂的算法,但读者必须熟练地掌握if...else分支结构的执行流程,同时建立清晰的有关函数定义和函数调用的基本概念,就可得出正确的答案。