A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yongwei 中级黑马   /  2015-7-13 22:49  /  2953 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

%-m.ns怎么理解啊

10 个回复

倒序浏览
本帖最后由 walterwang 于 2015-7-14 19:05 编辑

-表示左对齐,m表示输出的个数,n表示显示的个数。
回复 使用道具 举报
首先m的意思是 表示你输出到控制台的位数 例如6位数那么m就是6 前面的负号 是表示如果你输出的值是3 而你的m又要求是6 那么还有3个位置需要用空格来表示 空格可以放左边 也可以放右边 你用了负号 那么它的空格就会放到右边了 如果没有这个负号 那么它的空格就会放在左边  那么.n 我相信你应该知道意思的 它是表示留几个小数点 只有最外面那个框框%s是表示输出字符串输出
回复 使用道具 举报
wxh794708907 发表于 2015-7-14 19:21
首先m的意思是 表示你输出到控制台的位数 例如6位数那么m就是6 前面的负号 是表示如果你输出的值是3 而你的 ...

恩恩,谢谢
回复 使用道具 举报
.n表示的是输出选定字符串的字符个数,而不是小数位数什么的,%-m.nf才是楼上说的那样
回复 使用道具 举报
-表示左对齐,m是域宽也就是总的输出个数,n表示小数点要有n位数。
回复 使用道具 举报
同求同问。。。
回复 使用道具 举报
/*
#include<stdio.h>
int main()
{
    char a[]="fsgfsgfdgdsgsdq";
    printf("%-6.4s\n",a);
    printf("%6.4s",a);
    //%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的 右侧,左补空格。
    //%-m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的 左侧,右补空格。
    return 0;
}
*/
回复 使用道具 举报
s是什么?
回复 使用道具 举报
池莉娘子 来自手机 中级黑马 2015-7-17 21:47:26
10#
这东西有什么用
回复 使用道具 举报
域值的问题,以及左右填充的问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马