11选D,12题选A
11题:函数指针的定义:我们可以使用 ( * 指针变量名) ([形参列表]);来定义一个函数指针
如 int add(int a,int b ) 对应的函数指针为int (*pFun) (int ,int ) 来表示
a答案第二个形参char不对,原函数 void fun(intn,char * s){...}第二个形参是字符指针,不是char
b答案既不是函数指针,形参也不对。其中 void * 代表返回值是一个无类型的指针
c错误与b一样。同时函数体中赋值也不对
12题
函数的作用是将a的内容赋值给b所指空间。楼主错选c,可能是将“=”看成了“==”。"="是赋值操作,“==”是判断是否相等
11应该是D
12应该是A
11.A正确。原因:BC错在指针=非指针,C错在,还没说指哪里呢,就往指的位置写东西。
11.D。函数指针,要保证函数的返回值和参数的类型相同。
12.A。先把*a赋值给*b,再判断*b是否为‘\0’,不为‘\0’指针后移一位
11 D 函数指针也是指针,所以*和函数名结合。(* 函数名)。void * 函数名 是指针函数,它返回值是指针。排除BC,
定义函数的时候,函数名就是函数的入口地址,所以不需要加取地址符&,所以A错误。
12 A while( (*b =*a)!='\0' ) 先把a所指内容赋给b所指内容,然后判断b所指内容是否是结束符,如果是,结束while循环,否则地址加1,继续赋值。
希望能帮到你!
11题,因为题目的函数fun带有两个参数,一个是int类型,一个是char* 类型,所以指针的类型和fun应该相同,所以选择D选项。
12题,因为while先是赋值并且判断结束符,所以肯定是在a把值给b呀,后面的++是为了指针的后移。
11是D
12是A
11 D
12 A
11D指针类型要和函数类型相同
12A
11D指针和函数类型相同
12A
11 D返回值类型要一致
12 A
11 D 指针类型要和函数类型相同
12 A
11 D
12 A
11 D 定义的指针类型要和被调用的函数里的指针类型一样
12 A *b=*a 这里是一个赋值操作
11 D返回值和类型要一致
12 A
11D指针类型要和函数类型相同
12A
第一题D,
第二题A
11 是D fun本身也是一个函数指针
12应该是A
第一题 D 因为函数指针赋值的时候,应该是pf=fun 或者是pf=&fun,所以对比之下,D是正确的。BC主要是混淆了指针函数和函数指针的定义,这个可以自己去看看相关的题。
第二题 A 可以看成a[] 和 b[]来看,比较看得懂,类似于复制。
11D
12A
11题D
12题A
DA
第二个就是复现strcpy的操作呀
先把*a赋值给*b,再判断*b是否为‘\0’,不为‘\0’指针后移一位 说得很清楚了
11D 可以参考C语言主函数中传递的参数,数组指针,如果你注意过的话
12 A 这个不应该有疑问
11 D
12 A
.
11 D
12 A
11 选D 函数返回值要和参数类型一致
12 选A 括号里面=是赋值 循环将a字符串赋值给b
11 D
12 A*b=*a是指将a所指的值赋给b所指内容直到全部传输完为止
11是D
12是A
11.D。函数指针定义,要保证函数的返回值和参数的类型相同,函数指针变量采用(* 函数指针变量名)的形式,定义后即可进行函数的赋值。
12.A。while循环,先把地址a指向字节复制到b指向的地址,然后再判断该值是否为'\0’,(即是否字符串结束),不为‘\0’a/b指针都后移一字节
11选D,12题选A