c语言中printf函数输出格式问题

#include <stdio.h>
main()
{
printf("-6d\n",111)
}

按书上讲的结果应该是:111--- (-代表是空格符号)
但实际运行后,利用notepad++使结果中空格显示出来结果是:111
后面没有三个空格,这是什么情况,书上讲错了吗?请指教,谢谢!

printf("%-6d\n",111);中的'-'表示输出宽度在不满6时,空格留在右边(左齐),但是否留有空格是看不出来的,改为printf("%-6ds\n",111);后,输出结果应该是111 s,111和s之间有3个空格。追问

谢谢,确实按你说的做后就显示了,但再请教一下,为啥将运行结果复制到notepad++(能显示空格),看不出有空格,是忽略了空格,还是看不见。

追答

空格是看不见的。复制到notepad后,把插入符放到要查看的行,按键,看看插入符到最后一个显示字符之间是否留有空格。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-21

printf("%6d",111);是---111,

printf("%-6d",111);是111---,这个没错。

你那应该是notepad++的问题,

或者你应该这样测试线


 printf("\n0123456780123456789");

 printf("\n[%-6d]",111);

 printf("\n[%6d]\n",111);

第2个回答  2013-06-21
应该是 printf("%-6d\n",111);追问

不好意思是我打错了,运行时我没输错,为啥结果与书上不一样,请指教!

追答

printf("%-6d",111);   输出结果:

 

 


没有问题啊


可能是notepad++错了吧

C语言中printf函数输出格式的是什么?
C语言中,格式化输出函数printf使用的格式字符是控制输出格式的关键。在printf函数中,没有直接用于输出二进制数的格式符,而十六进制数的输出使用的是格式符"%x",对应于小写的"%X"用于大写十六进制输出。printf函数的基本格式是:```printf("", );```其中,格式化字符串由格式控制符和普通字符组成。...

printf输出格式是什么?
C语言中,控制printf函数输出格式的是格式字符,printf没有直接打出2进制数的格式符,直接打出16进制的格式符是x格式符,即%x。printf函数中输出的格式为printf("<格式化字符串>", <参量表>),格式化字符串由格式控制、和输出表列两部分组成,其中格式控制包含格式声明和普通字符。格式声明由“%”和格...

c语言输出整数1234宽8位,数据左对齐怎么做
结论是,要让C语言中的printf函数输出整数1234并保持8位宽度左对齐,只需要在格式化字符串中使用"-%8d"。具体解释如下:首先,"printf"函数中的格式化字符串%-8d,这里的"-"表示左对齐,"8"则是指定了输出的宽度为8位。"d"代表整型数据,所以"1234"会被填充到8个字符的位置,不足的部分会在左边...

c语言中printf()函数输出什么格式的数据?
printf("%4.2f", 1.194 ); \/\/输出结果 1.19 printf("%4.2f", 12.195 ); \/\/输出结果 12.20

c语言问题,关于printf语句的输出
“%ld”表示按十进制长整型输出;“%c”表示按字符型输出等。非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。看下面例子:include <stdio.h> int main(void){ int a=88,b=89;printf("%d %d\\n",a,b);printf("...

c语言printf()函数输入两个整数怎样输出?
输出两个变量的方法和输出一个的方法类似,printf ("sum=%d\/n",sum);表示输出sum,而输出sum和sum1只需要改成printf ("sum=%d,sum1=%d\/n",sum,sum1);。其中%d表示输出格式为十进制有符号整数。printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);其中格式化字符串包括两部分...

C语言printf函数
C语言中的printf函数是一个强大的格式化输出函数,它可以根据不同的格式字符,以特定的方式输出各种类型的数据。其中,格式字符的选择至关重要,例如,%d用于带符号的十进制输出整数,%f则用于输出实数,而十六进制输出则用%x或%x(无符号时)。在使用printf时,需要注意数据类型与格式字符的对应关系,不...

printf函数输出格式
1、%ld表示数据按十进制有符号长型整数输入或输出,如果是32位,输出4字节。2、%d表示数据按十进制有符号整型数输入或输出,如果编译器32位,可以输出8字节。示例:printf("%5d\\n",1000);\/\/默认右对齐,左边补空格 printf("%-5d\\n",1000);\/\/左对齐,右边补空格 printf("%+d%+d\\n",1000,-...

关于C语言printf()函数格式说明的问题
printf( "%2.3f" , 123.456 ); \/\/ 由于实际输出的数字123.456共有7个字符,大于2个字符数量,所以这里的2其实实际上没起到什么作用,不过如果你printf( "%8.3f" , 123.456 );,8-7=1,那么结果将在数字前面补一个空格字符,使用printf( "%08.3f" , 123.456 );则是补一个字符'0'...

c语言问题:printf的格式怎么写
已知字符 ‘a’ 的ASCII码为 97 ,执行下列语句的输出是98, c。第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。本题考查printf函数的格式。“%x”和“%o”分别表示以十六进制和八进制无...

相似回答