更多“有下列程序: fun(int x,inty){retum(x+y);}main() {int a=1,b=2,c=3,sum;stun=fun((a++,b++,a+b) ”相关问题
  • 第1题:

    有以下程序: fun(int x,int y){return(x+y);) main { int a=1,b=2,c=2,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); } 执行后的结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x的值为5;表达式c++先把变量C的值传给形参y,然后c的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。

  • 第2题:

    有以下程序: fun(int x,int y){return(x+y);} main() {int a=1,b=2,c=3,Sum; sum=fun((a++,b++,a+b),c++); printf("%d",sum); } 执行后的输出结果是______。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    解析: 在fun((a++,b++,a+b),c++)函数中先计算括号内的“(a++,b++,a+b)”逗号运算符,整个逗号表达式最后的值为5;接下来调用fun()函数,此时原句变为fun(5,c++)。运算c++表示在使用完c后再将c的值加1,函数的返回值为8。

  • 第3题:

    有下列程序: fun(int x, int y) {return (x+y);} main() { int a =1,b=2,c=3,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n", sum); } 执行后的输出结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    解析:函数fun(intx,inty)的功能是返回两个整型数据的和。在主函数中,变量a,b,c的初始值分别为1,2,3。因此逗号表达式“a++,b++,a+b”的值等于5,表达式c++的值为3,调用子函数的表达式为“fun(5,3);”,其返回值等8。所以变量sum的值等于8。

  • 第4题:

    有下列程序: fun(int X,int y){return(x+y);} main { int a=1,b=2,c=3,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); } 执行后的输出结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    函数fun(intx,inty)的功能是返回x+y的值。在主函数中,变量a,b,c的初始值分别为1,2,3。因此,逗号表达式“a++,b++,aqb”的值等于5,表达式c++的值为3,调用于函数的表达式为“fun(5,3);”,其返回值等于8。

  • 第5题:

    有以下程序:

    fun(int x,int y) {return(x+y);}

    main

    { int a=1,b=2,c=2,sum;

    sum=fun((a++,b++,a+b),c++);

    printf("%d\n",sum); }

    执行后的结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x的值为5;表达式c++先把变量C的值传给形参y,然后c的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。