📜  C测验– 109 |问题3

📅  最后修改于: 2021-05-26 01:13:14             🧑  作者: Mango

为以下程序找出正确的语句。

#include "stdio.h"
  
typedef int (*funPtr)(int);
  
int inc(int a)
{
 printf("Inside inc() %d\n",a);
 return (a+1);
}
  
int main()
{
  
 funPtr incPtr1 = NULL, incPtr2 = NULL;
  
 incPtr1 = &inc; /* (1) */
 incPtr2 = inc; /* (2) */
  
 (*incPtr1)(5); /* (3) */
 incPtr2(5); /* (4)*/
  
 return 0;
}

(A)带有注释(1)的行将给出编译错误。
(B)带有注释(2)的行将给出编译错误。
(C)具有(1)和(3)的行将给出编译错误。
(D)具有(2)和(4)的行将给出编译错误。
(E)没有编译错误,程序将没有任何问题地运行。答案: (E)
说明:在将任何函数分配给函数指针时,&是可选的。同样的方式,而通过调用函数指针的函数,*是可选的。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。