• 2021-04-14
    中国大学MOOC: 设有下列变量定义与函数声明,则合法的函数调用语句是()。int x,y;void swap(int *p,int *q);
  • swap(&x,&y);

    内容

    • 0

      设x、y是int型变量,函数定义为: void func(int a,int b) {... ...} 则以下________是错误的函数调用

    • 1

      函数首部是 int fun( int *a, int *b ), 则下列选项中错误的函数调用语句是 。 A: int *p, *q; fun(*p, *q); B: int x, y; ..fun(&x,&y); C: int a[10], b[10], fun(&a[0], &b[1]); D: int *p,*q; fun(p,q);

    • 2

      中国大学MOOC: 设有以下语句:int add(int a, int b);int fun(int (*p)(int, int), int &a, int &b);int x, y, (*f)(int, int)=add; 则对函数fun的正确调用形式是()。

    • 3

      以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。 void fun(int *x,int *y) { …… } main() { int a=10,b=20;   ________ ; /定义变量p */   p=fun; p(&a,&b);   …… }

    • 4

      从函数的定义来看,调用以下那几个函数有可能实现函数外的两个数据的交换? A: void Swap(int x, int y) //值传递,交换函数内的数据{ int t = x; x = y; y = t;} B: void Swap(int & x, int & y) //引用传递,通过引用交换函数外的数据{ int t = x; x = y; y = t;} C: void Swap(int * x, int * y) //指针传递,通过指针交换函数外的数据{ int t = *x; *x = *y; *y = t;} D: void Swap(int * x, int * y) //指针传递,交换指针的指向{ int *t = x; x = y; y = t;}