c语言的输出默认的是左对齐还是右对齐?

负号“-”为“左对齐”控制符,【一般所有输出数据为右对齐格式】,加一个“-”号,则变为“左对齐”方式。【如果这句话是对的】那么:printf("%d\n%d\n%d",a... 负号“-”为“左对齐”控制符,【一般所有输出数据为右对齐格式】,加一个“ -”号,则
变为“左对齐”方式。
【如果这句话是对的】那么:
printf("%d\n%d\n%d",a=12345,b=1234,d=123);为什么是左对齐?
【如果这句话是错的】那么%-d的意义是什么?
展开
 我来答
百度网友6567883c53
2012-12-21 · TA获得超过4737个赞
知道大有可为答主
回答量:1260
采纳率:0%
帮助的人:1360万
展开全部

楼主你好。

左对齐还是右对齐是在有对齐的需要的时候才有意义的。由于你并没有指定每个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这时候就是:

百度网友f27200e
2018-07-23 · TA获得超过2.6万个赞
知道小有建树答主
回答量:390
采纳率:100%
帮助的人:5.5万
展开全部

默认格式是左对齐

  • 方式1

printf("%d\n",101010);

默认打印格式为左对齐;

  • 方式2

printf("%-10d\n",101010);

在打印数字宽度前面加一个“-”。

说明:数字宽度为10,如果要打印的位数小于10,则在后面补足空格;如果要打印的位数大于10,则打印所有的数字,不会截断

右对齐

printf("%10d",101010);

在%和d之间加上数字宽度,就可以右对齐。

说明:数字宽度为10,如果要打印的位数小于10,左边补足空格;如果要打印的位数大于10,则打印所有的数字,不会截断。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2015-09-13 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
c语言的格式输出是受格式符控制的。在没有指定左对齐或是右对齐时,C的输出是左对齐的。比方说printf("%s:\n%d\n%f\n",name,years,h);

直接使用%5d,%9ld,%6.2f,%7.1lf,%10s等等进行输出时,是右对齐格式;
而使用%-5d,%-9ld,%-6.2f,%-7.1lf,%-10s等等进行输出时,则是左对齐格式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longbefore991
2012-12-21
知道答主
回答量:14
采纳率:0%
帮助的人:4.5万
展开全部
负号“-”为“左对齐”控制符,【一般所有输出数据为右对齐格式】这句话是对的。为什么这句printf("%d\n%d\n%d",a=12345,b=1234,d=123);体现不出效果呢?如果你这样就知道了printf("%10d\n%-10d\n%10d",a=12345,b=1234,d=123);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kent_ghost
2012-12-21 · TA获得超过254个赞
知道小有建树答主
回答量:266
采纳率:98%
帮助的人:80.8万
展开全部
在不涉及到指定输出字符个数控制的时候,“-”号的加与不加都是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式