c语言格式输出补零的问题

Python09

c语言格式输出补零的问题,第1张

C语言格式化输出默认为右对齐,+表示右对齐,-表示左对齐

printf ("%-08ld\n",y)默认在后面补两个' ',不可能补0,补0就改变了数值大小,所以和0没关系

printf ("%08ld\n",y)为右对其,前补0,结果都为-0043456

printf ("%+8ld\n",y)为右对齐,前补空格,结果为**-43456 注意:此处的星号表示空格!!(因为打空格怕你看不出来。。。)

格式控制使用"%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语言