C语言问题 为什么选B,过程求解

下列程序执行后的输出结果是(B) voidmain()    { printf(“\’s1=%7s\’”,”h... 下列程序执行后的输出结果是 (B)
 void main()
     { 
printf(“\’s1=%7s\’”,”hello”);
A.
\’s1=”hello”\’
B.
’s1=  hello’ 
C.
s1=”hello”
D.
s1=7hello
展开
 我来答
乘风破浪的轮船abcde
2020-05-15 · 生活不止有眼前的苟且,还有互联网
乘风破浪的轮船abcde
采纳数:522 获赞数:972

向TA提问 私信TA
展开全部
\’是转义字符,就表示单引号字符表示。所以第一个和最后一个输出的字符都是‘。
%7s输出字符所占的空间,7s表示占7个位置, 不足的不空格,大于的则原样输出。所以=和hello之间有两个空格。
综上,最后输出的内容为
‘s1= hello’,答案为B。
请采纳,谢谢。
IT圈新鲜事
2020-05-15 · 记录IT技术领域中的新鲜事
IT圈新鲜事
采纳数:1722 获赞数:11349

向TA提问 私信TA
展开全部
首先\是转义字符,所以"\'"的结果就是',其次,%7s是指输出字符串占7位,所以前方有空格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2020-05-15 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
%7s意思就是输出后面的字符串,长度7(这里如果7小于后面字符串长度则没什么意义,还是按字符串原样输出,如果大于后面字符串,则会在字符串前补空格),字符串原本的双引号是不会输出的。所以A和C都不对,\是转义符,\'表示单引号'本身,所以最终输出就是
' s1= hello'
结果当然就是B了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
loverxinya
2020-05-15 · 希望可以在---中给--带来----
loverxinya
采纳数:0 获赞数:15

向TA提问 私信TA
展开全部
在C语言中有些符号的输出是不能直接输出的,比如你输出的‘需要在前面加上\;
然后%7s是指你输出的是一个长度为7的字符串。就是你的HELLO前面,输出的时候你会发现有空格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2020-05-15 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
\'先输出一个单引号
s1=照原样输出
%7s以7位的宽度输出后面给出的hello,于是单词的前面补2个空格。
最后,\'再输出一个单引号
所以是答案B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式