永发信息网

c语言中%c和%4c有什么区别

答案:5  悬赏:70  手机版
解决时间 2021-11-15 23:20
  • 提问者网友:咪咪
  • 2021-11-15 15:25
c语言中%c和%4c有什么区别
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-11-15 16:27
二者均是输出一个字符。
%c是只输出字符本身。
%4c输出占4位,要输出的字符在最右侧,前面有三个空格。

用一下代码测试
char c = 't';
printf("[%c]\n", c);
printf("[%4c]\n", c);
输出结果为
[t]
[ t]
可以看到后者前面是多了三个空格的。
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-11-15 20:06
用于指定最小字段宽度。转换后的参数将打印不小于最小字段宽度的字段。如果有必要,字段左边(如果使用左对齐的方式,则为右边)多余的字符位置用空格填充以保证最小字宽段。
  • 2楼网友:底特律间谍
  • 2021-11-15 18:46
前者表示按字符格式输出,后者不仅表示按字符格式输出,而且输出的字符要占4列。如字符没有4列,左边输出空格,若超出4列,只输出前4列.
  • 3楼网友:蕴藏春秋
  • 2021-11-15 17:33
%c表示按原来的字符长度输出(就是正常输出)
%4c也是字符输入的一种格式,你只要理解这里的4是什么意思就行了。
4的意思是左补空格右对齐(4>0)
如果是-4的话那就表示右补空格左对齐(-4<0)
也就是说,%mc(m是一个常数)中,如果m>0,那就表示向左补(m-1)个空格,然后将字符输出
如果m<0,就是表示向左对齐(这就不多说了,因为%c格式每次只能输出一个字符,所以m<0时,%mc格式与%c格式是等效果的)
  • 4楼网友:思契十里
  • 2021-11-15 16:56
%mc 前面的 m为整形数字(此问题中 前者是1 后者是4)
m的意义在于 打印时 默认分配给这个字符 几个字符位置 (当然 前者是1个 后者是4个)
因为字符本来 就占有 一个位置 所以 %c 分配给字符一个打印为 是刚占满的
但是 %4c 由于 字符本身只占有 一个位置 所以还空下三个位置 (这就要用空格来填充了)
至于 从哪边 填充 c语言默认是 右对齐的 所以 在右边(指的是这四个位置的最右边 ,并非屏幕最右边, 屏幕默认是从右往左输出的。。。)打印出字符之后 会 顺势 输出三个空格来填充,
至于 如果 想 让字符靠左对齐 那么 在%mc m 前面加个负号就可以啦 这样 %-4c 就是靠左对齐啦
就是这么个意思啦
希望有帮助
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯