niusouti.com
更多“有以下程序fun(int x, int y){ return (x+y); }main(){ int a=1, b=2, c=3, sum;sum=fun((a ”相关问题
  • 第1题:

    有下列程序: 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。

  • 第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题:

    以下程序的输出结果是#include "stdio.h"int *fun(int *a,int *b){ int m; m=*a; m+=*b-3; return(&m);}main(){ int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf("%d\n",*k);}


    正确答案:53
    本题考查指针函数的使用。题目给出的程序包括两个部分,一个为指针函数fun,一个为主函数main。主函数main部分给出两个整型变量x和y,并给出相应的赋值。main函数的执行结果为输出*k的值,而*k的值即*fun的值。fun函数包括两个整型指针形参*a和*b。通过对*a、*b进行操作,得到结果m,并将m值返回,整个程序的实际输出即为m的值。初始时,m=*a=21。随后令m=m+*b-3,得m=53。整个程序的输出结果即为53。

  • 第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。