C语言printf的问题!!

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:48:07
main()
{
long y=-43456;
printf("y=%08ld\n",y);
}
输出的是什么????
%后的0是什么阿。。。
那么如果%后面的是#,位数补够的话就补#呗....是吗???
我书上有一道题是这样得。。。
main()
{
int y=2456;
printf("y=%#8o\n",y);
}
这个#不是空位补#吗?是什么东西啊?呵呵

输出的是-0043456
%08ld的意思是如果这个数不够8位,就在前面补0至8位,-43456是6位(负号占一位),所以补2个0

当然不是。。。。这个是printf使用的格式。。不能瞎改的