| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 688 人关注过本帖
标题:二级考试试题??
只看楼主 加入收藏
Jorbo
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-9-8
收藏
 问题点数:0 回复次数:3 
二级考试试题??

25.下面各语句行中,能正是行赋字符串操作的语句行是 A)CHAR ST[4][5]={“ABCDE”}; B)CHAR S[5]={'A','B','C','D','E'}; C)CHAR *S;S=“ABCDE”; D)CHAR *S;SCANF(“%S”,S);

A为什么不对??

搜索更多相关主题的帖子: 试题 考试 
2004-09-15 15:46
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

我认为只能选D

A首先题目要求的是“行”赋字符串,而在ST[4][5]字符串是这样排列的 st[0][0]='a' st[0][1]='b' st[0][2]='c' st[0][3]='d' st[0][4]='e' 很明显,不可能出来个st[0][5]来存放终止字符'\0',终止字符到了下一行st[1][0]='\0',所以不能算是行赋字符串(字符串没有'\0'怎么能叫字符串?)。举个例子: main() { char st[4][5]={"abcde"};

st[1][0]='x'; printf("%s",st); getch(); } 这样的程序输出的就是abcdex了。

B没有终止字符\0,所以不能算是个字符串

C那就更加荒谬了


淘宝杜琨
2004-09-15 16:47
Jorbo
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-9-8
收藏
得分:0 

神~阴阳太极 说对了一半,把st[4][5]改成st[4][6]就OK了。

但是 C 一点也不荒谬,答案就是 C,我试了,是OK的。


2004-09-15 17:04
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

对对,选C,看来我老啦,不行啦,才几天没碰电脑就连最基本的都忘记啦,还来这里误导别人........

不过也怪?没给字符串分配空间就用指针,这样子不是很危险的事情吗?


淘宝杜琨
2004-09-15 17:14
快速回复:二级考试试题??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014994 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved