【正文】
{ int *t。 t=a。 a=b。 b=t。 } main() { int x=3,y=5,*p=amp。x,*q=amp。y。 swap(p,q)。 printf(“%d%d\n”,*p,*q)。 } (3) 設(shè)有以下程序: 以下是引用片段: main() { int a, b, k=4, m=6, *p1=amp。k, *p2=amp。m。 a=pl==amp。m。 b=(*p1)/(*p2)+7。 printf(“a=%d\n”,a)。 printf(“b=%d\n”,b)。 } 執(zhí)行該程序后,a的值為【3】0 ,b的值為【4】7 ?! ?4) 下列程序的輸出結(jié)果是 【5】0 。 以下是引用片段: void fun(int *n) { while( (*n))。 printf(“%d”,++(*n))。 } main() { int a=100。 fun(amp。a)。 } (5) 以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結(jié)果傳回,請(qǐng)?zhí)羁铡? 以下是引用片段: void func(int x,int y, 【6】 z) int * { *z=x+y。 } (6) 函數(shù) void fun(float *sn, int n)的功能是:根據(jù)以下公式計(jì)算S=11/3+1/51/7+…,計(jì)算結(jié)果通過形參指針sn傳回。n通過形參傳入,n的值大于等于0。請(qǐng)?zhí)羁铡? 以下是引用片段: void fun( float *sn, int n) { float s=, w, f=。 int i=0。 for(i=0。 i=n。 i++) { f=【7】 * f。 1 w=f/(2*i+1)。 s+=w。 } 【8】 =s。 *sn } (7) 以下函數(shù)的功能是,把兩個(gè)整數(shù)指針?biāo)傅拇鎯?chǔ)單元中的內(nèi)容進(jìn)行交換。請(qǐng)?zhí)羁铡? 以下是引用片段: exchange(int *x, int *y) { int t。 t=*y。 *y= 【9】 。 *x *x= 【10】 。 t } (8) 下面函數(shù)要求用來求出兩個(gè)整數(shù)之和,并通過形參傳回兩數(shù)相加之和值,請(qǐng)?zhí)羁??! nt add(int x,int y, 【11】 z) int * { 【12】 =x+y。} *z 答案: 一、選擇題 01) A 02) B 03) C 04) C 05) A 06) D 07) A 08) D 09) A 10) C 11) B 12) C 13) D 14) A 15) B 16) D 17) D 18) A 19) D 20) B 21) A 22) B 23) B 24) B 25) C 26) D 27) C 28) C 29) D 30) A 31) B 32) D 二、填空題 (1) 8 4 (2) 3 5 (3) 0 (4) 7 (5) 0 (6) int * (7) –1 (8) *sn (9) *x (10) t (11) int * (12) *