以下程序运行后,输出结果是( ) main() { char *s="abcde"; s+=2; printf("%d\n",s);}

A)cdeB)字符c的ASCII码值C)字符c的地址D)出错希望有详解,谢谢啦... A) cde
B) 字符c的ASCII码值
C) 字符c的地址
D) 出错
希望有详解,谢谢啦
展开
 我来答
一叹t
高能答主

2021-01-13 · 我们不创作,我们只是信息的搬运工。
一叹t
采纳数:2138 获赞数:11971

向TA提问 私信TA
展开全部

选择答案C,输出的为字符c的地址。

因为%d是打印整形变量的值,因为前一句执行了s+=2,s指针偏移了两个位置,偏移了两个位置之后s指向的是字符c,所以输出语句输出的是指针s,而s存放的是地址,所以输出的就是字符c所在的地址。

扩展资料:

C语言字符串的实现:

c语言没有string类型,c语言中字符串是通过字符指针来间接实现的。

存储多个字符的两种方式:字符串、字符数组。

C语言重要的字符串函数:

1、strcpy(s1, s2),复制字符串 s2 到字符串 s1。    

2、strcat(s1, s2),连接字符串 s2 到字符串 s1 的末尾。    

3、strlen(s1),返回字符串 s1 的长度。    

4、strcmp(s1, s2),如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。    

5、strchr(s1, ch),返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。    

6、strstr(s1, s2),返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

l568288g
推荐于2017-09-01 · TA获得超过242个赞
知道答主
回答量:131
采纳率:100%
帮助的人:29.9万
展开全部
2楼是对的
printf("%d\n",*s);} 就是字符c的ASCII码值
printf("%s\n",s);} 就是cde
printf("%s\n",*s);} 就是段错误 D、出错
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lethong
2014-01-10 · 超过27用户采纳过TA的回答
知道答主
回答量:172
采纳率:0%
帮助的人:71.1万
展开全部
C) 字符c的地址
s定义为指向字符串“abcde”的指针,
s+=2,s指针偏移2个位置,指向c字符
后面的打印语句,输出的是s指针的值,即字符c的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唯一的天海冥
2014-01-10
知道答主
回答量:27
采纳率:0%
帮助的人:6.3万
展开全部
c的地址,%d是打印整型变量的值,整型变量在32位机上是四字节,指针变量也是四字节,所以刚好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wal_liu
2014-01-10 · 超过14用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:28.2万
展开全部
就是C)字符c的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式