关于C语言的题目求解

main(){inti=-2;floatx=457.898;printf("i=%5d,%-8o,%3x,%u,%c\n",i,i,i,i,i+'E');printf("... main()
{int i=-2;
float x=457.898;
printf("i=%5d,%-8o,%3x,%u,%c\n",i,i,i,i,i+'E');
printf("x=%10f,%10.2f,%-10.4f,%.2f,%f\n",x,x,x,x,x);}
各个答案是怎样出来的,求解!谢谢!
展开
 我来答
百度网友c67303967
2014-03-04 · TA获得超过192个赞
知道答主
回答量:92
采纳率:0%
帮助的人:40万
展开全部
printf()括号里面有两个东西,一个是" "即左边引号部分,和右边的那些,引号里面是原样输出的意思,但在这里面有%d,%o,这种的就是一些占位符,就是占住一个位,而值是在后面的那些i,x之类的参数的值。
而%5d,中间的数字5就是占住的这个位置的长度。
而%-8o,中的-号是指占住8个位置后左对齐。
接下来是%d是值后面的i,x之类的参数的值的格式。d是十进制形式。
%o o是八进制的形式
%x x是十六进制的形式
%u u是无符号数的形式
%c c是单个字符形式
%f f是输出浮点型数
追问
但是那个 37777777777776 fffffffe 这些怎样算都算不到这个答案
追答
因为-2的要以八进制数输出,所以从十进制的-2转换成37777777777776。

而以十六进制输出,就是fffffffe了。
与子如初见
2014-03-04 · TA获得超过1639个赞
知道小有建树答主
回答量:1117
采纳率:100%
帮助的人:830万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式