c语言关于字符变量输出的问题

老师出的题目:输入并运行下面程序分析结果#include<stdioh.h>main(){charc1,c2;c1=46,c2=47;printf("%3c%3c",c1... 老师出的题目:
输入并运行下面程序分析结果
#include<stdioh.h>
main()
{ char c1,c2;
c1=46,c2=47;
printf("%3c %3c",c1,c2);
printf("%3d %3d",c1,c2);
}
把程序第二行改为:int c1,c2;再运行 分析结果

我调试出来的结果是:
。 /
46 47
且改成int后结果不变。

我主要是想问下 %3c 和 %3d 里头的3是什么意思 加了后有什么影响?我怎么觉得加不加一样啊
展开
 我来答
百度网友c017f65
推荐于2017-09-22 · 超过35用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:48.3万
展开全部
%3d中的3表式:输出占3列,如果少于3列则左补空格;如果多于3列则全部输出
例如:
int i=15;
printf("%3d",i);
输出结果是: _ 15 (其中"_ "表式一个空格,空格+15刚好占3列)
再如
int i=1542;
printf("%3d",i);
输出结果是: 1542 占四列(大于3列,所以全部输出).
xiao_by
2007-12-09
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
占3个(至少)字符位置,如果不足就用空格填充,过多的话就全部输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
推荐于2017-09-16 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450116
专业C/C++软件开发

向TA提问 私信TA
展开全部
字符变量,也就是char类型的变量,有两种输出模式:
1 按照字符输入。即输出本身的字符,如果是'A',那么就输出A。
有两种方法:
1) 用printf输出。
%c格式符是用作char变量输出的,如
char c = 'M';
printf("%c", c);
这样就输出M了。
2)用putchar输出。
putchar 功能为输出一个字符,所以
char c = 'M';
putchar(c);
同样是输出M。

2 输出char变量的ASCII码值。
char变量存储的本质为ASCII码,所以可以通过printf,用%d或%x输出其值。
char c = 'M';
printf("%d, 0x%x\n", c, c);
会分别以10进制和16进制输出M的ASCII码值,即
77,0x4d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式