若有以下定义语句:chars[10];s=”1234”;prin

题目

若有以下定义语句:chars[10];s=”1234”;printf(“%s/n”,s);则运行结果是:()

  • A、输出1234
  • B、输出1
  • C、输出4
  • D、编译不通过
参考答案和解析
正确答案:D
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.7

B.8

C.9

D.10


正确答案:A
A。【解析】C语言中strlen函数的功能是返回字符串的长度,其中'\0'是一个转义字符,它占存储空间,但不计入字符串的长度。所以选项A正确。

第2题:

下列选项中正确的语句是( )。

A.chars[3];s="BOOK!";

B.char*s;s={"BOOK!"};

C.chars[10];s="BOOK";

D.char*S;s="BOOK!";


正确答案:D
D。【解析】在选项D中.字符指针s指向字符串常量BOOK!。故选项D正确。

第3题:

若有以下说明语句,则该语句()。chars=92;

A、使s的值包含1个字符

B、说明不合法,s的值不确定

C、使s的值包含4个字符

D、使s的值包含3个字符


参考答案:B

第4题:

有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。 A.gets(&sO);

有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。

A.gets(&sO);

B.scanf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);


正确答案:D
D。【解析】选项A调用函数9ets使得S数组从S[0]开始得到输入的字符;选项B使得数组从元素s[1]开始得到输入的5个字符;选项C使得数组从s[0]开始得到输入的字符;而选项D的scanf("%S",S[1])调用错误,应为scanf("%S",&s[1])输入项部分应该是一个地址值。

第5题:

若有定义语句: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。

第6题:

若有以下定义和语句: char*s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是______。

A.4

B.5

C.9

D.10


正确答案:A
解析:函数strcpy(s1,s2)的返回结果是指针s1的新值"1234",因此求串长函数的结果为4。

第7题:

以下选项中正确的语句组是______。

A.chars[];s="BOOK!";

B.char*s;s={"BOOK!"};

C.chars[10];s="BOOK!";

D.char*s;S="BOOK!";


正确答案:D
解析:选项A和选项C中,都是绐数组第—个元素赋初值,因为在C语言中,定义的数组名可以认为是—个存入地址值的指针变量名,其中的地址值是数组第—个元素的地址,即在默认情况下,程序使用数组名是指向该数组的首地址, —个地址只能存入一个数据,因此这两个选项是错误的;选项B和选项D都是用字符指针指向—个字符串,它只能指向—个字符变量或其他字符类型数据,不能同时指向多个字符数据,更不能把这些字符存放到变量中(指针变量只能存放地址),因此选项B是错误的,只有选项D是正确的。

第8题:

若有定义和语句: char*sl="12345",* s2="1234"; printf("%d\n",strlen(stren(sl,s2))); 则输出结果 ( )

A.4

B.5

C.9

D.10


正确答案:A

第9题:

若有定义语句:

则strlen(s)的值是()。

A.7

B.8

C.9

D.10


正确答案:A
本题考查的是字符串的长度。字符数组中可以存放字符串,但字符数组的长度并不是字符串的长度,字符串的长度是指字符数组中存放的有效字符个数,即“Ⅷ”之前的字符数。字符数组s中依次存放的字符是:l234567和2个字符串结束标记“Ⅷ”,故字符串的长度是7,所以应该选择A)。

第10题:

有定义语句“chars[10];”,若要从终端给S输入5个字符,错误的输入语句是( )。 A.gets(&s0);

有定义语句“chars[10];”,若要从终端给S输入5个字符,错误的输入语句是( )。

A.gets(&s0);

B.scanf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);


正确答案:D
D。【解析】选项A调用函数gets使得s数组从s[0]开始得到输入的字符;选项B使得数组从元素s[1]开始得到输入的5个字符;选项C使得数组从s[0]开始得到输入的字符;而选项D的scan[(”%S”,S[1])调用错误,应为scanf(”%s”,&s[1])输入项部分应该是一个地址值。

更多相关问题