关于字符串和指针的问题

例23:下面判断正确的是()(A)char*a=”china”;等价于char*a;*a=”china”;(B)charstr[10]={“china”};等价于char... 例23:下面判断正确的是( )
(A)char *a=”china”;等价于char *a;*a=”china”;
(B)char str[10]={“china”};等价于char str[10]; str[ ]={“china”};
(C)char *s=”china”; 等价于char *s;s=”china”;
(D)char c[4]=”abc”,d[4]=”abc”; 等价于char c[4]=d[4]=”abc”;
例24:下面能正确进行字符串赋值操作的是()。
A) char s[5]={“ABCDE”}
B) char s[5]={‘A’,’B’,’C’,’D’,’E’};
C) char *s;s=”ABCDE”;
D) char *s; scanf(“%s”,s);
例27:设有下面的程序段
char s[ ]=”china’;char *p; p=s;
则下列叙述正确的是( )
(A)s和p完全相同 (B)数组s中的内容和指针变量p中的内容相等
(C)*p与s[0]相等 (D)s数组长度和p所指向的字符串长度相等
例28:以下正确的程序段是( )
(A)char str[20]; scanf(“%s”,&str);
(B)char *p; scanf(“%s”,p);
(C)char str[20]; scanf(“%s”,&str[2]);
(D)char str[20],*p=str; scanf(“%s”,p[2]);
展开
 我来答
忘至白葬不情必0T
2012-01-10 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
23.C
A。由C可知A错
B。数组只有在定义的同时,可以用{}来初始化
D。C语言不支持在声明多个变量的同时,在一个句子中连续用=来初始化的这种形式。

24。B
A错。“ABCDE”加上隐藏的结束符,需要char s[6]才能放得下
C错。s指向的是常量字符串,不能赋值
D错。s未初始化,指向的是未知空间

27。C
A错。s是数组,p是指针,虽然在使用上没差别,但毕竟是两个不同类型。
B错。p中的内容是s的首地址,而s中的内容指的是china这个字符串。
D错。s的长度是算上了字符串结束符,是6。p指向的字符串长度是5,不包括结束符

28。C
A错。str本身就是地址了,不用加&
B错。p未初始化
D错。p[2]是str中第2个元素,不是指针类型。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式