1 第六章 练习题 一、填空题 1、定义 int a[]={1,2,3,4,5,6},*p=a;语句 printf("%d",(*++p)++);的输出结果是( )。 2、以下程序的执行结果是( )。 main() { char s[]="abcdefg"; char *p; p=s; printf("ch=%c\n",*(p+5)); } 3、以下程序的执行结果是( )。 main() { int a[][={1,2,3,4,5,6}; for(p=&a[5];p>=a;p--) printf("%d",*P); printf("\n"); } 4、以下程序的执行结果是( )。 main() { int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i<4;i++) p[i]=&a[i*3]; printf("%d\n",p[3][2]);} 5、设包含如下程序的文件名为 myprog.c,编译后键入命令:myprog one two three,则执行结果是( )。 main(int argc,char *argv[]) { int i; for(i=1;i
0); printf("%d\n",t); 8、下面程序段的运行结果是( ) char str[]="abc\0def\0ghi"; char *p=str; printf("%s",p+5) 9、若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[1]; 则++(*p)的值是( )。 10、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是( ),*(a[1]+2) 2 的值( )。 11、若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是( ),*(a+5)的值是( )。 12、若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[2]; 则*--p 的值是()。 13、若有以下定义和语句: int s[2][3]={0},(*p)[3]; p=s; 则(*(p+1)+2)的值是()。 14、若有定义:int a[2][3]={2,4,6,8,10,12}; 则 a[1][0]的值是( ),*(*(a+1)+0)的值是( )。 15、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是()。 for(k=0;k<3;k++) q[k]=&a[k*4]; printf("%d\n",q[2][3]); 16、若有以下输入:1,2(代表回车),则下面程序的运行结果是()。 main() {int a[2][3]={2,4,6,8,10,12} , (*p)[3],i,j; p=a; scanf("%d,%d",&i,&j); printf("%d\n",*(*(p+i)+j); ) 17、下面程序的运行结果是()。 main() { char *a[]={"P","C","B","L"}, (* *p)[ ]; int j...