C语言习题集合(指针)
if(m>0)printf("%5d'spositionis:%4d\n",x,m);elseprintf("%dnotbeenfound!\n",x);
}
19.以下程序的功能是________。
#include"stdio.h"main(){
char*s[]=={"PASCAL","FORTRAN","COBOL","BASIC"};char**p;intn;p=s;
for(n=0;n<4;n++)
printf("%s\n",*(p++));}
20.若有定义和语句:inta[4]={1,2,3,4},*p;p=&a[2];,则*--p的值是________。21.若有定义和语句:inta[2][3]={0},(*p)[3];p=a;,则p+1表示数组________。22.若有如下定义和语句:
int*p[3],a[6],n;
for(m=0;m<3;m++)p[m]=&a[2*m];则*p[0]引用的是a数组元素【1】;*(p[1]+1)引用的是a数组元素【2】。23.若有以下定义和语句,在程序中引用数组元素a[m]的四种形式是:【1】、【2】、【3】和
a[m]。(假设m已正确说明并赋值)inta[10],*p;p=a;
24.下面程序的输出结果是________。
#include"stdio.h"main(){
intb[2][3]={1,3,5,7,9,11};int*a[2][3];inti,j;int**p,m;
for(i=0;i<2;i++)for(j=0;j<3;j++)
a[i][j]=*(b+i)+j;
p=a[0];
for(m=0;m<6;m++){
printf("%4d",**p);p++;}}
25.定义语句int*f();和int(*f)();的含义分别为【1】和【2】。26.请根据运行结果,完成main函数中的填空。