哪位帮忙解答一下我的疑惑
C语言的初学者遇到一个程序#include<stdio.h>main(){inta=201,b=012;printf("%2d,%2d\n",a,b};}该程序的运行结果...
C语言的初学者遇到一个程序
#include<stdio.h>
main()
{ int a=201,b=012;
printf("%2d,%2d\n",a,b};
}
该程序的运行结果是 201,10
我不太明白为什么输出的是这样的结果 麻烦给解答一下
输出语句里的2应该是表示什么 为什么好象两个2的功能不一样?谢谢啦! 展开
#include<stdio.h>
main()
{ int a=201,b=012;
printf("%2d,%2d\n",a,b};
}
该程序的运行结果是 201,10
我不太明白为什么输出的是这样的结果 麻烦给解答一下
输出语句里的2应该是表示什么 为什么好象两个2的功能不一样?谢谢啦! 展开
3个回答
展开全部
以0开头的表示八进制,
所以b=012,也就是八进制数12,换算为十进制是10,
%d表示十进制整数格式,中间的2表示输出宽度,如果数据宽度超出2则以实际宽度为准。
所以b=012,也就是八进制数12,换算为十进制是10,
%d表示十进制整数格式,中间的2表示输出宽度,如果数据宽度超出2则以实际宽度为准。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=201,b=012
说明a是十进制的,b是八进制的(b=012,0表示它为八进制)。
所以printf("%2d,%2d\n",a,b)的结果应该是201,10。
说明a是十进制的,b是八进制的(b=012,0表示它为八进制)。
所以printf("%2d,%2d\n",a,b)的结果应该是201,10。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询