若有以下的说明、定义和语句,则值为31的表达式是:structwc{inta;int*b;}*p;intx0[]={11,12},x1[]={31,32};staticstructwcx[2]={100,x0,300,x1};p=x;
A. *p->b
B. (++p)->a
C. *(p++)->b
D. *(++p)->b
查看答案
设有以下语句:charstr[4][12]={"aaa","bbb","ccc","ddd"};char*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];若0≤k<4,下列选项中对字符串的非法引用是:
A. strp
B. str[k]
C. strp[k]
D. *strp
若有定义:char*p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为:
A. p1=&ch;scanf("%c",p1);
B. p2=(char*)malloc(1);scanf("%c",p2);
C. p3=getchar();
D. p4=&ch;*p4=getchar();
若有以下定义和语句,则输出结果是:char*sp="\t=\v\\\0will\n";printf("%d",strlen(sp));
A. 14
B. 3
C. 9
D. 字符串中有非法字符,输出值不定。
下面程序的输出是:#include<stdio.h>main(){char*a="1234";fun(a);printf("\n");}fun(char*s){chart;if(*s){t=*s++;fun(s);}if(t!='\0')putchar(t);}
A. 1234
B. 4321
C. 1324
D. 4231