C语言程序设计

设char*s="/tabc/017/’/n";则指针变量s指向的字符串所占的字节数是()A、9B、8C、6D、7

题目

设char*s="/tabc/017/’/n";则指针变量s指向的字符串所占的字节数是()

  • A、9
  • B、8
  • C、6
  • D、7
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有如下的程序段:char s[]="girl", *t t=s则下列叙述正确的是()。

A.s和t完全相同

B.数组s中的内容和指针变量t中的内容相等

C.s数组长度和t所指向的字符串长度相等

D.*t与s[0]相等


答案:D

第2题:

已知char **t;则变量t是

A.指向char变量的指针

B.指向指针的char变量

C.指向指针的指针

D.以上说法都不对


正确答案:C

第3题:

设有如下程序段

char s[20]= "Be i jing",*p;

p=s;

则执行 p=s; 语句后,以下叙述正确的是

A) 可以用 *p 表示 s[0]

B)s 数组中元素的个数和 p 所指字符串长度相等

C)s 和 p 都是指针变量

D) 数组 s 中的内容和指针变量 p 中的内容相等


正确答案:A

第4题:

以下能将字符串“good!”正确地存放在字符数组s中,或使指针;能指向这个字符串的是(33)。

A.char s[4]={'g','o','o','d','!')

B.char s[5];s="good!";

C.int s[5]="good!";

D.char *s;s="good!:;


正确答案:D
解析:选项A是逐个字符赋值,字符数组末尾无“'\0'”结束符,因此不是字符串。选项A应更正为:chars[5]={'g','o','o','d','!','\0'}。选项B的错误在于,在赋值语句中对字符数组进行整体赋值。通常,在定义时可以对字符数组进行字符串的整体赋值。chars[5]="good!";是对选项B的更正。选项C存在语法错误。数组类型为int型,不是char型,不能进行初始化。chars[5]="good!";是对选项C的更正。选项D的“char*s;s="good!";”,是通过指针s指向字符串"good!"。

第5题:

设有下面的程序段:

char s[]="china"; char*p; p=s;

则下列叙述正确的是

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相同

C.s数组长度和p所指向的字符串长度相等

D.*p与s[0]相等


正确答案:D
解析:考查的是字符指针和字符数组的区别。选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。

第6题:

设char *s="\ta\018bc";则指针变量s指向的字符串所占的字节数 是 _______ 。

A.9

B. 5

C. 6

D. 7


参考答案:D

第7题:

设有下列程序段: char s[20]="Beijing",*p; p=s; 则执行p=s;语句后,下列叙述正确的是( )。

A.可以用*p表示s[0]

B.s数组中元素的个数和p所指字符串长度相等

C.s和p都是指针变量

D.数组s中的内容和指针变量p中的内容相同


正确答案:A
解析:程序定义了字符数组s和字符型指针变量p,并且使得p指向数组,执行p=s;语句后,*p即表示s[0];s数组中元素的个数和 p所指字符串长度不相等,因为s数组中元素的个数包括字符串结束标志“\0”,而p所指字符串长度不包括“\0”;s是字符型数组,p是指针变量;数组s中的内容和指针变量p中的内容不相同,数组中存放的是字符串,而指针变量p存放的是数组的首地址。

第8题:

设char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数是()。

A.9

B.5

C. 6 (分别是:'\t' 'a' '\017' 'b' 'c' '\0')

D.7


答案:C

第9题:

设函数f的原型是:char *f (const char*);,pf 是指向f 的指针,则pf 的定义是【 】。


正确答案:char(*p)(const char*)=f;
char(*p)(const char*)=f; 解析:如果要使指针指向函数,函数的原型应该改为上面的形式。

第10题:

以下程序运行后输入:3,abcde<回车>,则输出结果是【 】include move(char *str,

以下程序运行后输入:3,abcde<回车>,则输出结果是【 】

include <string.h>

move(char *str, int n)

{ char temp; int i;

temp=str[n-1];

for(i=n-1;i>0;i--) str[i]=str[i-1];

str[0]=temp;

}

main( )

{ char s[50]; int n, i, z;

scanf("%d,%s",&n,s);

z=strlen(s);

for(i=1; i<=n; i++) move(s, z);

printf("%s\n",s);

}


正确答案:cdeab
cdeab 解析:本题主要考查函数move()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

更多相关问题