若有说明char c【7】={'s','t','r','i','n','g'};则对元素的合法引用是()
A.[0]
B.[9-6]
C.[4*2]
D.[2*3]
ABD
A.[0]
B.[9-6]
C.[4*2]
D.[2*3]
ABD
若有以下说明,则对初值中字符a的引用方式为()。 static struct { char ch; double x; char a(); }c[2] [3]={ { {'a',3.5,"bc"}, {'c',4.5,"de"}, {'m',8.6,"abc"} }, { {'d',8.5,"ic"}, {'b',5.5,"dc"}, {'n',8.6,"anc'} }};
A.c.ch
B.c[0][0].ch
C.c[1][1].ch
D.a[0]
若有定义和语句 () char s[10];s="abcd";printf("%s\n",s); 则结果是(以下μ代表空格)
A.输出abcd
B.输出a
C.abcdμμμμμ
D.编译不通过
若有以下的说明,对初值中整数2的正确引用方式是()。 static struct { char ch; int i; double x; } a[2][3]={{{'a',1,3,45},{'b',2,7,98},{'c',31,93}}};
A.a[0][1].ch
B.a[0][1].i
C.a[0][0].i
D.a[0][2].i
若有以下说明和定义: union dt { int a; char b; double c;} data; 以下叙述中错误的是()。
A.data的每个成员起始地址都相同
B.变量data所占的内存字节数与成员c所占字节数相等
C.程序段:data.a=5; printf("%f\n",data.c);输出结果为5.000000
D.data可以作为函数的实参
A.scanf("%c",a[0])
B.scanf("%s",&a)
C.printf("%c",a[3])
D.printf("%s",a)
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明1]
函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。
[C函数1]
void fun(char*W,char x,int*n)
{ int i,P;
p=0;
w[*n]=x;
while(x>w[p]) (1) ;
for(i=*n,i>p;i--)w[i]=(2);
w[p]=x;
++*n;
}
[说明2]
函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。
[C函数2]
void revstr(char*s)
{ char*p,c;
if(s==NULL)return;
p=(3); /*p指向字符串s的最后一个有效字符*/
while(s<p){ /*交换并移动指针*/
C=*s;
(4)=*p;
(5)=c;
}
}
A.xyzabcABC
B.abcABC
C.xyzabc
D.xyzABC
A.0
B.3
C.7
D.8
以下程序的输出结果是()。 main() char a[10]={'1','2','3','4','5','6','7','8','9','\0'),*p; { int i; i=8; p=a+i; printf("%s\n",p-3); }
A.6
B.6789
C.'6'
D.789