当前位置:首页 > 第十章 指针练习题
main()
{ int a=5,b=6,*x=&a,*y=&b; fun(x,y); }
A)120 B)121 C)122 D)123 正确答案: C
10.22b 现有定义int a=10,*p=&a;则不能使a的内容增1的语句是
A)*p++; B)*p=*p+1; C)++*p; D)*p+=1; 正确答案: A
10.24b 阅读下面程序,则程序的输出结果为 #include \main()
{ int c[]={1,2,3,4,5,6}; int *p; p=c;
printf(\); printf(\\n\); }
A)1,2 B)2,1 C)1,1 D)2,2 正确答案: A
二、填空题(请将每一个空的正确答案写在答题卡相应序号后。) 10.26b 设有以下定义和语句,则*(*(p+2)+1)的值为【1b】。 int a[3][2]={10, 20, 30, 40, 50, 60}, (*p)[2]; p=a; 正确答案: 60
10.28b 以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。 #define N 3 #define M 3
select(int a[N][M],int *n) { int i,j,row=1,colum=1; for(i=0;i if(a[i][j]>a[row][colum]) { row=i;colum=j; } *n= 【3b】 ; return 【4b】 ; } main() { int a[N][M]={9,11,23,6,1,15,9,17,20},max,n; max=select(a,&n); printf(\\n\); } 正确答案: row 正确答案: a[row][colum] 10.29b 函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s > t时返回正值,当s < t时返回负值。请填空。 my_cmp(char *s, char *t) { while (*s == *t) { if (*s == ′\0′) return 0; ++s; ++t; } return 【5b】 ; } 正确答案: *s-*t 10.30b 下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。 fun(int *p,int n) { int *q; int max,min; max=min=*p; for(q=p; 【6b】 ;q++) if( 【7b】 ) max=*q; else if( 【8b】 ) min=*q; } 正确答案: q max 正确答案: *q
共分享92篇相关文档