格式控制使用"%02d"就可以,表示宽度为两位,不足两位在前面补0。
例如:
#include"stdio.h"
#include"math.h"
void main()
{
int i,n,sum
scanf("%d",&sum)//sum为一个数的阶乘
for(i=1i++)
{
n=pow(10,i)
if(sum<n)
{
printf("%d的位数是%d\n",sum,i)
break
}
}
扩展资料:
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
参考资料来源:百度百科-c语言
signed char 或 char 采用的是8位二进制的补码。正数是这样处理。负数则不是。你说的处理方法得到的是“原码”。补码是在原码的基础上,将数据位全部取反后再末位加1而成:
[-1]原=10000001
[-1]反=11111110
[-1]补=11111111
printf语句中格式字符串%0后面还要有字符来修饰格式,比如:%08d,这里的0表示是位数不足时,用数字0补足
printf("%8d\n",8)会输出前面有7个空格最后是数字8的显示结果
printf("%08d\n",8)会输出前面有7个0最后是数字8的显示结果