c语言题目

1、为什么16进制中没有8?2、为什么‘\1011’不是合法转义字符3、printf(“\n*s2=%15s*”,"chinabeijing");输出的是什么?是按照什么... 1、为什么16进制中没有8?
2、为什么‘\1011’不是合法转义字符
3、printf(“\n*s2=%15s*”,"chinabeijing");输出的是什么?是按照什么规则输出的?如果把15改成-5又是什么情况?
4、long y=-43456;printf(“y=%-8ld\n”,y);输出的y的值是怎么看的?如果把-8改成-08、08、+8又是什么值?为什么是这样的?
5、当a=3,b=2,c=1时,表达式f=a>b>c的值为什么是0.
以上,希望有详细的解释,答案我都有,就是不知道为什么。
展开
 我来答
超可爱ING
推荐于2016-12-02 · TA获得超过1245个赞
知道小有建树答主
回答量:465
采纳率:0%
帮助的人:186万
展开全部
1、第一个不太明白,16进制是0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,有8啊
2、转义字符的格式是:\ddd:8进制表示字符的方法,\xdd:16进制表示字符的方法,d就代表一个数字,反斜杠+4个数字无法正常转译。
3、输出结果:
*s2= chinabeijing*
输出字符串,\n输出回车,*s2=以字符串形式输出,%15s是格式化输出,表示输出的字符串右对齐,占15个字符长度,chinabeijing是长度为12的字符串,则需在左端补齐3个空格,最后再输出*。
如果变成-5,则输出格式变为,输出的字符串左对齐,占5个字符长度,由于chinabeijing占12个字符长度,所以需要截取5个字符输出。输出结果:
*s2=china*
4、-8输出结果:y=-43456
-08输出结果:y=-43456

08输出结果:y=-0043456

+8输出结果:y= -43456
-8和+8的结果比较好理解。
-08,这里的0不起作用,负号-的作用是将整数左对齐输出,后面会将08看成一个整数,如果不足8位,后面的会用空格补充 。
08,这里的0起作用,将整数右对齐输出,共输出8位,如果不足8位,左面用0补充,即08的结果中多出两个0。
5、计算机语言中一般是没有连比运算的,所以这里的表达式是分两次进行的,先比较a>b,然后用a>b的结果与c比较。
a=3,b=2,c=1; f=a>b>c;先做a>b运算,即3>2,正确(正确的结果为1,错误的结果为0,这是比较结果的数值化,即真值。)所以a>b得到的结果是1,然后将a>b的结果与c比较,即1>1,错误,结果为0
台玉花奈淑
2019-08-26 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:35%
帮助的人:823万
展开全部
|8567
|
%-06d
表示该整数占六个格。不够的左边补0
的意思,这里的-表示向左对齐,因此在右边补两个空格,就变成|8567
|。
如果是%06d,则应该显示|008567|。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式