下面程序的输出是:main(){chara[]="ABCDEFG",k,*p;fun(a,0,2);fun(a,4,6);printf("%s\n",a);}fun(char*s,intp1,intp2){charc;while(p1<p2){c=s[p1];s[p1]=s[p2];s[p2]=c;p1++;p2--;}}
ABCDEFG
B. DEFGABC
C. GFEDCBA
D. CBADGFE
查看答案
下面程序的输出是:main(){char*s="wbckaaakcbw";inta=0,b=0,c=0,x=0,k;for(;*s;s++)switch(*s){case'c':c++;case'b':b++;default:a++;case'a':x++;}printf("a=%d,b=%d,c=%d,x=%d\n",a,b,c,x);}
A. a=8,b=4,c=2,x=11
B. a=4,b=2,c=2,x=3
C. a=8,b=4,c=2,x=3
D. a=4,b=4,c=2,x=3
若有以下的定义和语句:main(){inta[4][3],*p[4],j;for(j=0;j<4;j++)p[j]=a[j];┇}则能表示a数组元素的表达式是:
A. *(p[1])
B. a[4][3]
C. a[1]
D. *(p+4)[1]
以下正确的定义和语句是:
A. inta[10],*p;char*s;p=a;s=a;
B. doublea[5][3],b[5][3],*s;s=a;b=a;
C. floata[5][3],*p[3];p[0]=a[0];p[2]=a[4];
D. inta[5][3],(*pb)[5],(*pp)[3];pb=a;pp=a;
若以下定义和语句,0≤i<10,则对数组元素地址的正确表示是:inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;
A. &(a+1)
B. a++
C. &p
D. &p[i]