基础知识 | 每日一练(110)

基础知识练习

士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ——菜根谭

学生:对于 size t 那样的类型定义, 当我不知道它到底是 long 还是其它 类型的时候, 我应该使用什么样的 printf 格式呢?

小林:把那个值转换为一个已知的长度够大的类型, 然后使用与之对应的 printf 格 式。例如, 输出某种类型的长度, 你可以使用 printf(“%lu”, (unsigned long)sizeof(thetype));

学生:我如何用 printf 实现可变的域宽度?

小林:就是说, 我想在运行时确定宽 度而不是使用 %8d?printf(“%*d”, width, x) 就能达到你的要求。

学生:如何输出在千位上用逗号隔开的数字?金额数字呢?

小林:提供了一些函数可以完成这些操作, 但是没有完成这些任务的标 准方法。printf() 惟一一处对应 locale 的地方就是改变它的小数点字符。

正文完