VS里有个非标准的_printf_p
函数,它可以在格式控制符内使用位置参数。例如
_printf_p ("%1$o %1$x %1$u\n", 123U);
等价于
printf ("%o %x, %u\n", 123U, 123U, 123U);
然而在输出字符常量时,
printf ("%#x %c\n", 'A', 'A');
可以正常输出,但是
_printf_p ("%1$#x %1$c\n", 'A');
就会在运行时出错
这是什么原因造成的?
报什么错呢?截张图吧。还有函数名和括号中间不要有空格哟~
看下这篇博客,也许你就懂了,链接:printf()函数输出数据格式汇总