有以下程序: #include<stdio.h> #include<stdlio.h> void fun(int*pl,int*p2,int*s) { s=(int*)malloc(sizeof(int)); *s=*pl+*p2; free(s); } main( ) { int a=1,b=40,*q=&a; fun(&a,&b,q); printf("%d\n",*q); } 程序运行后的输出结果是( )。
A.42
B.0
C.1
D.41
第1题:
设有以下函数:
void fun(int n,char*$s){……}
则下面对函数指针的定义和赋值均正确的是
A.void(*pf)( );pf=fun;
B.void*Pf( );pf=fun;
C.void*pf( ); *pf=fun;
D.void(*pf)(int,char);nf=&fun;
第2题:
以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是
A.main() { int *p; fun(p); … } int fun(int *p) { ints; p=&s;}
B.main() { int *p; fun(&p); … } int fun(int **p) { int s; *p=&s;)
C.#include main() { int *p; fun(&p); … } int fun(int **p) *p=(int*)malloc(2);}
D.#include main() { iht *p; fun(p); … } iht fun(iht *p) { p=(int*)malloc(sizeof(int)); }
第3题:
有以下程序: #include <stdlib.h> void fun(int * s,int * * d) { * *d=*(s+2); } main() { int a[]={1,2,3,4,5},*b; b=(int *)malloc(sizeof(int)); fun(a,&B) ; printf("%d\n",*b+1); } 程序的输出结果是( )
A.2
B.3
C.4
D.5
第4题:
设有以下函数:
voidfun(intn,char}s){……}
则下面对函数指针的定义和赋值均正确的是( )。
A.void(*pf)(int,char);pf=&fun;
B.void+pf( );pf=fun;
C.void*pf( );*pf=fun;
D.void(*pf)(int,char*);pf=fun;
第5题:
以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是
A.main() { int*p; fun(p); … } int fun(int*p) {int s; p=&s; }
B.main { int *p; fun(&p); … } int fun(int**p) {int s; *p=&s; }
C.#include <stdlib.h> main() { int *p; fun(&p); … } int fun(int**p) {*p=(int*)malloc(2); }
D.#include <stdlib.h> main() { int *p; fun(p); … } int fun(int *p) {p=(int*)malloc(sizeof(int));}