若有定义char s[10];则在下面表达式中不表示

题目

若有定义char s[10];则在下面表达式中不表示s[1]的地址的是()

  • A、s+1
  • B、s++
  • C、&s[0]+1
  • D、&s[1]
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若已定义char s[10]则在下面表达式中不表示s[1]地址的是()。

A.s+1

B.s++

C.&s[0]+1

D.&s[1]


答案:B

第2题:

若有定义:char *x="abcdefghi";,以下选项中正确运用了strcpy函数的是______。

A.char y[10]; strcpy(y,x[4]);

B.char y[10]; strcpy(++y,&x[1]);

C.char y[10],*s; strcpy(s=y+5,x);

D.char y[10],*s; strcpy(s=y+1,x+1);


正确答案:D
解析:选项A中x[4]是取字符e,也就是将字符复制到y中,strcpy实现的是地址的复制所以选项A错误;选项B中++y是错误的,不允许对常量进行自加运算(y是—个确定的地址值),所以选项B错误;选项C指针变量s指向了y向后的第5位,则存放x时会出现越界问题,所以选项C错误;选项D中,指针变量s指向了y向后的第—位,此时s可存放数据的长度为9,而地址“x+1”起的字符串的地址长度也刚好为9(包括“\0”),所以开始复制不会出现地址越界问题,故选项D正确。

第3题:

若有定义 :char *x="abcdefghi"; ,以下选项中正确运用了 strcpy 函数的是

A)char y[10]; strcpy(y,x[4]);

B)char y[10]; strcpy(++y,&x[1]);

C)char y[10],*s; strcpy(s=y+5,x);

D)char y[10],*s; strcpy(s=y+1,x+1);


正确答案:D

答案 D
解析 : 在字符拷贝函数中 strcpy( 字符数组 1 , 字符串 2) 中 , “ 字符数组 1 ” 必须写成数组名的形式,而且,数组 1 的长度要大于树组 2 的长度。因此本题 D 正确。

 

第4题:

若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。A. floatSX

若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。

A. float

B.int

C.char

D.double


正确答案:D
在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

第5题:

若有以下定义: char s(10)="program",t[]="test"; 则下列选项中对字符串操作错误的是( )。

A.strcpy(s,t);

B.strcat(s,t);

C.cout<<strlen(s);

D.gets(s);


正确答案:B

第6题:

若有定义语句:char s[100],d[100];int j=0,i=0;且s中已赋字符串,请填空以实现拷贝。(注:不使用逗号表达式)while(s[i]){d[j]=;j++;}d[j]=0;


正确答案:s[i++]
当s中最后一个数组元素不是0(没有拷贝完),将数组元素赋给d.然后i++.

第7题:

已知如下定义: String s = "story"; 下面哪些表达式是合法的?()

A.s += "books";

B.char c = s[1];

C.int len = s.length;

D.String t = s.toLowerCase();


正确答案:AD

第8题:

若有定义语句: char s[10]= " 1234567\0\0 " ; ,则 strlen(s) 的值是

A)7

B)8

C)9

D)10


正确答案:A

第9题:

若有以下定义,则不能代表字符。的表达式是______。 char s[20]="programming",*ps=s;

A.ps+2

B.s[2]

C.ps[2]

D.ps+=2,*ps


正确答案:A
解析:ps是指针变量,ps+2是地址值,表示s[2]的地址,并不能代表s[2]的值‘o’;选项B、C、D均能代表s[2]的值‘o’。

第10题:

若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是______。

A.7

B.8

C.9

D.10


正确答案:A
解析:strlen(字符数组)是测试字符串的长度的函数。函数的值为字符串的实际长度,不包括'\0'在内。 C语言中字符串是以'\0'字符结束的,且salen()函数计算的是'\0'字符前的所有字符的个数,所以本题strlen(s)的值是7。需要与其区分的是sizeof()函数,它的功能是计算变量或数组所分配到的内存空间的大小。如果本题要求计算sizeof(s)的话,则其值应为10。