重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
printf("%-7d", 10000); //左对齐且占用7个位置
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网站空间、营销软件、网站建设、荆州网站维护、网站推广。
printf("%7d, 10000); //右对齐且占用7个位置
其他的依次类推
楼主,可能是你的编程平台的问题。我用你的代码在codeblocks上可以正确显示。
楼主你好。
左对齐还是右对齐是在有对齐的需要的时候才有意义的。由于你并没有指定每个int值输出的长度,因此int值有多长就会输出多长,此时没有讨论左对齐或者右对齐的意义。
你只有加上%10d的时候(10只是我举的例子),这时候限定了int值输出长度为10,而12345这个int值的长度为5,这时候就有左对齐还是右对齐的分别了。
#include stdio.h
void main(){
printf("%10d\n%10d\n%10d\n",12345,1234,123);
}
如果你使用%-10d这时候就是:
#includestdio.h
int main()
{printf("数字输出占10列,右对齐\n%10dOK\n",9999);
printf("\n数字输出占10列,左对齐\n%-10dOK\n",9999);
return 0;
}
可以调用格式化输出函数printf,同时设定格式化字符串来达到效果。
1234为整型数据,依照要求,采用格式化字符串"%-8d"。
输出代码为
printf("%-8d",1234);
解析:
1
%d为整型的输出格式标识;
2
-代表数据左对齐,如不加则默认右对齐;
3
8表示输出占8位,不足部分补空格。