【printf——后续】

制定占位符的输出格式

一、限定宽度

1、整数

printf()可以限定占位符的最小宽度
例子:

# include 
int main()
{
printf ("%3d",1);
return 0;
}

知识点:

%3d表示这个占位符的宽度至少是5位,输出的值默认为是右对齐,如果不满3位,剩余的用空格填充,1前面填充2个空格。

所以这题输出是 1

如果想要输出是左对齐,可以在%后面添加“-”号

# include 
int main()
{
printf ("%-3d",1);
return 0;
}

输出结果是1、、(我这里的这个就是一个空格,这么写是方便更清楚的理解)

(我写出来的可能不太明显,可以上机试试,右对齐容易看出来,左对齐,可能看不太出来)

2、小数

限定符限制所有最小数字的宽度
例如:

# include 
int main ()
{
printf ("%15f",112.678);
return 0;
}

知识点:

浮点数用%f,这个小数的最小宽度是15 ,浮点数的小数点后面规定是6位,不够6位用0补充,系统默认为是右对齐,所以112.678前面会添加5个空格。
即: 112.678000

同理,如果想要左对齐,在%后面加上-号。

二、输出的值显示正负号

默认情况下,printf()只对负号显示,如果想要正负号都显示,即:

# include 
int main()
{
printf ("%+d\n",123);
printf("%+d\n",-123);
return 0;
}

输出结果是+123-123

所以,想要输出有正负号,只需要,在%后面加上+号。

三、限定小数位数(可以与上述的限定宽度结合使用)

例子:

# include 
int main ()
{
printf ("%.3f",1.2);
return 0;
}

%.3f就是保留小数点后3位的意思,即输出结果是1.200

补充:

最小宽度和小数位数这两个值,可以用*代替
例如:

# include 
int main()
{
printf ("%*.*f",4,1,1.2);
return 0;
}

即这里的printf()printf("%4.1f",1.2)最小宽度是4位,保留小数点后1位, 1.2前面添加一个空格
输出结果是 1.2

四、输出部分字符串

例子:

# include 
int main()
{
printf ("%.4s","hello mom");
return 0;
}

%.4s是指保留字符串前4个字符,所以输出的结果是hell。(注意:空格也算一个字符,如果这里不是%.4s,而是%.7s,那么输出的结果是hello m

你可能感兴趣的:(c语言)